Jasypt 기반 SpringBoot 설정 파일 암호 화

이 글 은 Jasypt 을 바탕 으로 SpringBoot 설정 파일 암호 화 를 소 개 했 습 니 다.이 글 은 예시 코드 를 통 해 매우 상세 하 게 소개 되 어 있 으 며 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 으 므 로 필요 한 분 들 은 참고 하 시기 바 랍 니 다.
jasypt 도입

<dependency>
  <groupId>com.github.ulisesbocchio</groupId>
  <artifactId>jasypt-spring-boot-starter</artifactId>
  <version>2.0.0</version>
</dependency>
암호 화 할 문자열 생 성
데이터베이스 의 사용자 이름과 비밀 번 호 를 암호 화 합 니 다.

  public static void main(String[] args) {
    BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
    //     salt( )
    textEncryptor.setPassword("G0CvDz7oJn6");
    //      (          )
    String username = textEncryptor.encrypt("root");
    String password = textEncryptor.encrypt("root123");
    System.out.println("username:"+username);
    System.out.println("password:"+password);
  }
출력 정보:

username:i8QgEN4uOy2E1rHzrpSTYA==
password: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.JasyptPBEStringEncryptionCLI password=G0CvDz7oJn6 algorithm=PBEWithMD5AndDES input=root
출력 정보:

----ENVIRONMENT-----------------
Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.171-b11

----ARGUMENTS-------------------
input: root
algorithm: PBEWithMD5AndDES
password: G0CvDz7oJn6

----OUTPUT----------------------
Gvkoz+sbFWiRe3ECtizV1A==
복사.-아웃 풋.-결 과 를 복사 하면 됩 니 다.
프로 퍼티 설정 파일
생 성 된 암호 화 문자열 설정 ENC(암호 화 문자열)를 application.properties 에 설정 합 니 다.

#      salt( )
jasypt.encryptor.password=G0CvDz7oJn6
#       PBEWithMD5AndDES,     PBEWithMD5AndTripleDES
# jasypt.encryptor.algorithm=PBEWithMD5AndDES
spring.datasource.username=ENC(6eaMh/RX5oXUVca9ignvtg==)
spring.datasource.password=ENC(6eaMh/RX5oXUVca9ignvtg==)
암호 화 방식 에 대응 하 는 클래스 는 Basic TextEncryptor 와 StrongTextEncryptor 입 니 다.

public BasicTextEncryptor() {
  super();
  this.encryptor = new StandardPBEStringEncryptor();
  this.encryptor.setAlgorithm("PBEWithMD5AndDES");
}

public StrongTextEncryptor() {
  super();
  this.encryptor = new StandardPBEStringEncryptor();
  this.encryptor.setAlgorithm("PBEWithMD5AndTripleDES");
}

아 날로 그 그래프
배치 시 salt(소금)값 설정
salt(소금)유출 을 방지 하기 위해 비밀 번 호 를 되 풀 수 있 습 니 다.프로젝트 배치 시 명령 을 사용 하여 salt(소금)값 을 전송 할 수 있 습 니 다.

java -jar -Djasypt.encryptor.password=G0CvDz7oJn6 xxx.jar
또는 서버 환경 변수 에 설정 하여 안전성 을 향상 시 킵 니 다.
/etc/profile 파일 열기

vim /etc/profile
파일 끝 삽입

export JASYPT_PASSWORD = G0CvDz7oJn6
컴 파일

source /etc/profile
운행 하 다.

java -jar -Djasypt.encryptor.password=${JASYPT_PASSWORD} xxx.jar
공식 주소:  https://github.com/ulisesbocchio/jasypt-spring-boot
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기