WX:CodingTechWork鹤树,一起工作學(xué)習(xí)總結(jié)铣焊。
概述
??在開發(fā)時(shí),經(jīng)常遇到數(shù)據(jù)庫連接罕伯,不可避免需要使用密碼曲伊,不管是開發(fā)還是測試環(huán)境,為了安全都不建議使用明文密碼追他,我們都需要對(duì)明文密碼進(jìn)行加密使用坟募,jasypt
就是一個(gè)通用的加解密庫。下面我們一起學(xué)習(xí)總結(jié)一下如何在代碼和命令行中使用該工具庫進(jìn)行加解密邑狸。
代碼應(yīng)用
pom依賴
在pom.xml中添加jasypt依賴
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.14</version>
</dependency>
命令行加解密
在倉庫位置repository\org\jasypt\jasypt\1.9.2
中找到jasypt-1.9.2.jar
包懈糯,在linux或者windows命令行中執(zhí)行
加密
格式
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input='明文密碼' password=自定義秘鑰 algorithm=PBEWithMD5AndDES
示例
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input='123456' password=SELFCODE algorithm=PBEWithMD5AndDES
----ENVIRONMENT-----------------
Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.65-b01
----ARGUMENTS-------------------
algorithm: PBEWithMD5AndDES
input: 123456
password: SELFCODE
----OUTPUT----------------------
Fhp3CClYBcVoxsbHBI345A==
解密
格式
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input='明文加密值' password=自定義秘鑰 algorithm=PBEWithMD5AndDES
示例
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input='Fhp3CClYBcVoxsbHBI345A==' password=SELFCODE algorithm=PBEWithMD5AndDES
----ENVIRONMENT-----------------
Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.65-b01
----ARGUMENTS-------------------
algorithm: PBEWithMD5AndDES
input: Fhp3CClYBcVoxsbHBI345A==
password: SELFCODE
----OUTPUT----------------------
123456
配置文件
jasypt:
encryptor:
password: SELFCODE #加鹽值
spring:
datasource:
url: jdbc:mysql:loadbalance://10.0.0.1:3306,10.0.0.2:3306,10.0.0.3:3306/db01?connectTimeout=1000&autoReconnect=true&roundRobinLoadBalance=true&loadBalancePingTimeout=1000&loadBalanceBlacklistTimeout=30000&useUnicode=true&characterEncoding=UTF-8&failOverReadOnly=false&useSSL=false
username: root
password: ENC(Fhp3CClYBcVoxsbHBI345A==)