jasypt 통합 SpringBoot 데이터베이스 암호 화 작업
4337 단어 jasyptSpringBoot데이터 뱅 크암호 화
프로그래머 로 서 개발 할 때 간단 하기 위해 계 정 은 모두 간단 합 니 다.기본적으로 데이터베이스 비밀 번 호 는 명문 입 니 다.아무런 조작 도 하지 않 았 습 니 다.적어도 제 가 머 물 렀 던 회 사 는 모두 이 렇 습 니 다.테스트 환경 이 든 온라인 환경 이 든 생각해 보면 이것 도 안전 위험 입 니 다.여기 서 바 쁘 지 않 을 때 springboot 기반 데이터 베이스 비밀 번 호 를 암호 화 합 니 다.
1.pom.xml 에 jar 패키지 추가(jdk 에 따라 다른 버 전 선택):
<!-- jdk8 jasypt -->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.14</version>
</dependency>
<!-- jdk7 -->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.5-java7</version>
</dependency>
<!-- jdk6 -->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.5-java6</version>
</dependency>
2.window 창 에서 명령 창 을 열 고 명령 을 입력 합 니 다:java -cp D:\mavenspace\repository\org\jasypt\jasypt\1.9.2\jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=allanpassword algorithm=PBEWithMD5AndDES
자바 Ccp jar 패키지 가 있 는 경로\jar 패키지 org.jasypt.intf.cli.JasyptPBE String Encryption CLI input="당신 의 데이터베이스 비밀번호"password=암호 화 필드,알고리즘 을 임의로 설정 합 니 다=기본 PBE With MD5AndDES 암호 화
매개 변수 설명:
input=데이터베이스 링크 암호
password=암호 화 필드,임의로 설정(프로필 에 이 암 호 를 추가 해 야 합 니 다.약 속 된 암호 에 해당 합 니 다)
algorithm=알고리즘,기본 PBEWithMD5AndDES
명령 실행 후 그림:
----OUTPUT----------------------
Ekgkm+TzSmf7w7bcr90gMV6MAwj0waW+
OUTPUT 는 암호 화 된 암호 입 니 다.프로젝트 암 호 를 설정 할 때 ENC()와 결합 하여 사용 합 니 다.다음 그림:
3.프로젝트 에 설정 을 추가 합 니 다(springboot 를 예 로 들 면).그림:
\#데이터베이스 암호 화 설정
jasypt:
encryptor:
password: allanpassword
spring MySQL :
password: ENC(Ekgkm+TzSmf7w7bcr90gMV6MAwj0waW+)
4.springboot 시작 클래스 에 주 해 를 추가 하여 효력 을 발생 시 킵 니 다.이상 설정 완료,프로젝트 실행 시작,데이터베이스 조회,성공!
추가 지식:SpringBoot(Spring)는 jasypt 를 사용 하여 암호 화 문 제 를 처리 합 니 다.
전경:프로필 에 있 는 명문 암호 유출 을 방지 하기 위해
1.의존 도입:(SpringBoot 에 대한)
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.8</version>
</dependency>
2.프로필 설정 매개 변수\#복호화 할 때 사용 하 는 키 로 이해 할 수 있 습 니 다.(인증 정보 jasypt.encryptor.algorithm 설정 도 고려 할 수 있 습 니 다.)
jasypt.encryptor.password=youPassword
3.테스트 클래스 를 작성 하여 암호 화 된 암 호 를 받 습 니 다.
@Autowired
StringEncryptor stringEncryptor;
@Test
public void encryptPwd() {
String result = stringEncryptor.encrypt("yourPassword");
System.out.println(result);
}
4.프로필 의 명문 암 호 를 수정한다
spring.datasource.druid.first.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.first.url=
spring.datasource.druid.first.username=root
spring.datasource.druid.first.password=ENC(AfHowGWt0tQ6LXRoJ7GkAlImTKkfDg1Y1Er)
5.명령 행 을 통 해 jasypt-1.9.2.jar 패키지 명령 을 실행 하여 암호 화 복호화1.jar 패키지 가 있 는 디 렉 터 리 에서 명령 줄 을 열 고 다음 암호 화 명령 을 실행 합 니 다.
java-cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="명문"password=jasypt 설정 암호 알고리즘=PBEWithMD5AndDES
2.방금 암호 화 된 결 과 를 사용 하여 복호화 하고 다음 복호화 명령 을 수행 합 니 다.
java-cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBE StringDecryptionCLI input="암호 화 된 비밀문서"password=jasypt 설정 암호 algorithm=PBE WithMD5AndD
이상 의 jasypt 통합 SpringBoot 데이터베이스 암호 화 작업 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SpringBoot 는 jasypt 를 사용 하여 비밀 번 호 를 복호화 하 는 방법 입 니 다.jasypt 은 일반적인 복호화 라 이브 러 리 입 니 다.설정 파일 에서 데이터베이스 암 호 를 암호 화하 여 안전성 을 확보 할 수 있 습 니 다. 1.주입 의존 2.프로필 그렇다면 어떻게 이 밀 서 를 얻 었 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.