加密jasypt使用尝试(加密 js)
官网地址:
引入jasypt依赖
<!--引入加密的jasypt依赖-->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot</artifactId>
<version>3.0.5</version>
</dependency>
增加jasypt配置
## 增加jasypt配置
jasypt:
encryptor:
#加密的秘钥,暂时写在配置文件中,生产环境不建议,可以写在启动参数中
password: 79OwxprNZIUzz4R1
# 加密算法: PBEWITHHMACSHA512ANDAES_256 (官方建议,jdk1.8以上)
# PBEWithMD5AndDES (官方建议,jdk1.8)
algorithm: PBEWithMD5AndDES
# 注意此配置不配,会报加密和解密密码不一致,没试过
iv-generator-classname: org.jasypt.iv.NoIvGenerator
# 配置格式(可以不填,默认ENC)
property:
prefix: "ENC["
suffix: "]"
运行获取加密后的密文
input:需要加密的明文,注意需要加引号,建议用单引号可以处理 特殊字符
password:加密的秘钥,与上面配置文件中的要一样
algorithm:加密方式,与上面配置文件保持一致
## 方案一:使用jar包命令运行
> cd /你本地路径/maven/repository/org/jasypt/jasypt/1.9.3
> java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input='1111' password=xxxxxx algorithm=PBEWithMD5AndDES
启动类增加自动解密的注解
如果不加的话会报错
javax.crypto.BadPaddingException: Padding error in verification
spring boot 启动类中增加属性自动解密的开关。
@EnableEncryptableProperties