머리말
이 기사는 주로 스프링 부팅 구성 파일을 암호화하기위한 Jasypt의 관련 방법을 소개합니다. 나는 아래에서 많이 말하지 않을 것입니다. 자세한 소개를 함께 살펴 보겠습니다.
이 방법은 다음과 같습니다.
Jasypt 소개
<pectionency> <groupid> com.github.ulisesbocchio </groupid> <artifactid> jasypt-spring-boot-starter </artifactid> <bersion> 2.0.0 </version> </dependency>
암호화 할 문자열을 생성합니다
데이터베이스의 사용자 이름과 비밀번호를 암호화합니다
public static void main (String [] args) {BasicTextEcryptor TextEncryptor = 새로운 BasicTextEcryptor (); // 암호화 텍스트에 필요한 소금 (소금) SetPassword ( "g0cvdz7ojn6"); // 암호화 할 데이터 (데이터베이스의 사용자 이름 또는 비밀번호) 문자열 username = textencryptor.encrypt ( "root"); 문자열 암호 = textEncryptor.encrypt ( "root123"); System.out.println ( "사용자 이름 :"+username); System.out.println ( "비밀번호 :"+비밀번호); }출력 정보는 다음과 같습니다.
사용자 이름 : i8qgen4uoy2e1rhzrpstya ==
비밀번호 : 6eamh/rx5oxuvca9ignvtg ==
또는 Maven을 사용하여 Jar 패키지를 다운로드하여 /maven/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar를 암호화하십시오.
java -cp jasypt -1.9.2.jar org.jasypt.intf.cli.cli.jasyptpbestringencryptioncli password = g0cvdz7ojn6 allgorithm = pbewithmd5anddes input = root
출력 정보는 다음과 같습니다.
---환경----------------------
런타임 : Oracle Corporation Java Hotspot (TM) 64 비트 서버 VM 25.171-B11---ARGUMENTS-----------------------------------------------------------------------------------------------------------------------
입력 : 루트
알고리즘 : pbewithmd5anddes
비밀번호 : g0cvdz7ojn6---산출---------------------------
gvkoz+sbfwire3ectizv1a ==
출력 아래에서 결과를 복사합니다.
속성 파일을 구성하십시오
생성 된 암호화 문자열 ENC (암호화 문자열)를 Application.Properties로 구성하십시오.
# SALT (SALT) 암호화 jasypt.encryptor.password = g0cvdz7ojn6# 기본 암호화 방법 pbewithmd5anddes를 pbewithmd5andtripledes로 변경할 수 있습니다. jasypt.encryptor.algorithm = pbewithmd5anddesspring.datasource.username = enc (6eamh/rx5oxuvca9ignvtg ==) 스프링 .datasource.Password = ENC (6eAmH/rx5oxuvca9Ignvtg ==) spring.datasource.Password = ENC (6eamh/rx5oxuvca9ignvtg ==)
해당 클래스의 암호화는 BasicTextEncryptor 및 StrongTextEntencryptor입니다
public basictextencryptor () {super (); this.encryptor = new StandardpbestringEncryptor (); this.encryptor.setalgorithm ( "pbewithmd5anddes");} public strongTextEncryptor () {super (); this.encryptor = new StandardpbestringEncryptor (); this.encryptor.setalgorithm ( "pbewithmd5andtripledes");} 클래스 다이어그램
배치 중에 소금 값을 구성하십시오
소금 (소금)이 누출되지 않도록하려면 비밀번호를 피하십시오. 프로젝트를 배포 할 때 명령을 사용하여 SALT (SALT) 값을 전달할 수 있습니다.
java -jar -djasypt.encryptor.password = g0cvdz7ojn6 xxx.jar
또는 보안을 더욱 향상시키기 위해 서버 환경 변수에서 구성
/etc /프로필 파일을 엽니 다
vim /etc /profile파일 끝에 삽입하십시오
내보내기 jasypt_password = g0cvdz7ojn6편집
소스 /etc /프로필달리다
java -jar -djasypt.encryptor.password = $ {jasypt_password} xxx.jar
공식 주소 : https://github.com/ulisesbocchio/jasypt-spring-boot (로컬 다운로드)
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.