보안
Jasypt
트랜드
2021. 11. 11. 21:54
Java Simplified Encryption
공식 사이트에서 다음과 같이 설명한다.
Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works.
Jasypt는 개발자가 암호화 작동 방식에 대한 깊은 지식 없이도 최소한의 노력으로 자신의 프로젝트에 기본 암호화 기능을 추가할 수 있도록 하는 Java 라이브러리입니다.
Spring 프로젝트를 하다보면 DB 정보나 Properties 의 중요 정보들을 암호화 해야할 일이 생긴다.
Jasypt 를 사용한 암호화 방법을 살펴보고자 한다.
Spring 4.x + Jaypt 1.9.3 기준으로 설정 방법을 살펴본다.
Maven
<!-- https://mvnrepository.com/artifact/org.jasypt/jasypt-spring31 -->
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-spring31</artifactId>
<version>1.9.3</version>
</dependency>
Bean
<bean id="encryptorConfig" class="org.jasypt.encryption.pbe.config.EnvironmentPBEConfig">
<!-- 암호화 알고리즘 -->
<property name="algorithm" value="PBEWithMD5AndDES" />
<!-- 임의의 암호화 키를 입력하면 된다. -->
<property name="password" value="암호화 키" />
</bean>
<bean id="encryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="encryptorConfig" />
</bean>
<bean class="org.jasypt.spring31.properties.EncryptablePropertyPlaceholderConfigurer">
<constructor-arg ref="encryptor" />
<property name="locations">
<list>
<!-- 암호화 정보가 있는 properties 파일 -->
<value>classpath:/props/db.properties</value>
</list>
</property>
</bean>
암호화
다운로드 사이트 -> https://github.com/jasypt/jasypt
GitHub - jasypt/jasypt: Jasypt (Java Simplified Encryption) is a java library which allows the developer to add basic encryption
Jasypt (Java Simplified Encryption) is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep kn...
github.com
1. 파일을 다운로드 후에 압축을 푼다.
2. cmd 창에서 /bin 디렉토리로 들어간다.
3. 아래의 명령어를 입력한다.
encrypt input="암호화할 값" password="암호화 키" algorithm="PBEWITHMD5ANDDES"