使用Jasypt来加密解密的Java示例代码
加密:
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig; /** *把密文放到配置文件中的时候要注意: * ENC(密文) */ public class ConfigEncryptUtils { public static void main(String[] args){ //加密工具 StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); //加密配置 EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig(); config.setAlgorithm("PBEWithMD5AndDES"); //自己在用的时候更改此密码 config.setPassword("fdfd"); //应用配置 encryptor.setConfig(config); String plaintext="root"; //加密 String ciphertext=encryptor.encrypt(plaintext); System.out.println(plaintext + " : " + ciphertext); } }
解密:
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig; /** *把密文放到配置文件中的时候要注意: * ENC(密文) */ public class ConfigEncryptUtils { public static void main(String[] args){ //加密工具 StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); //加密配置 EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig(); config.setAlgorithm("PBEWithMD5AndDES"); //自己在用的时候更改此密码 config.setPassword("fdfd"); //应用配置 encryptor.setConfig(config); String ciphertext="azL9Cyp9H62r3eUgZ+TESw=="; //解密 String plaintext=encryptor.decrypt(ciphertext); System.out.println(ciphertext + " : " + plaintext); } }Jasypt是一个Java开源库,可以使开发者不需太多操作就可以给Java项目添加基本加密功能,而且不需要知道加密原理。
1.该开源项目可用于加密任务与应用程序,例如加密密码、敏感信息和数据通信
2.还包括高安全性、基于标准的加密技术、可同时单向和双向加密的加密密码、文本、数字和二进制文件。
3.Jasypt还符合RSA标准的基于密码的加密,并提供了无配置加密工具以及新的、高可配置标准的加密工具。
4.加密属性文件(encryptable properties files)、Spring work集成、加密Hibernate数据源配置、新的命令行工具、URL加密的Apache wicket集成以及升级文档。
5.Jasypt也可以与Acegi Security整合也即Spring Security。Jasypt亦拥有加密应用配置的集成功能,而且提供一个开放的API从而任何一个Java Cryptography Extension都可以使用Jasypt。