Java加密解密 -Jasypt

1. download url
    http://www.jasypt.org/download.html
   
2. 依赖 jar
   jasypt-1.9.0.jar
   
3. 加密
        // 默认加密/解密算法是 PBEWithMD5AndDES
        StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        encryptor.setPassword(KEY);
        return encryptor.encrypt(text);
# 注意:这里每次加密得到的密文都是不一样的;

4. 解密
        StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        encryptor.setPassword(KEY);
        return encryptor.decrypt(ciphertext);
        
5. 示例代码
package org.demo.encrypt;

import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;

public class EncryptUtils {
    
	// 密钥
	private static final String KEY = "1234567a?";
	
	public static void main(String[] args) {
		String ciphertext1 = encrypt("abcdefg"); // Wu11fsC0gpgSET5aU8GXUA==
		String ciphertext2 = encrypt("abcdefg"); // ESXlHsVk2YM7mGcHy2ccGg==
		System.out.println(ciphertext1);
		System.out.println(ciphertext2);
		
		String text1 = decrypt(ciphertext1);
		String text2 = decrypt(ciphertext2);
		System.out.println(text1);               // abcdefg
		System.out.println(text2);               // abcdefg
	}
	
	/**
	 * 加密
	 * @param text 明文
	 * @return     密文
	 */
	public static String encrypt(String text) {
		StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
		encryptor.setPassword(KEY);
		return encryptor.encrypt(text);
	}
	
	/**
	 * 解密
	 * @param ciphertext 密文
	 * @return           明文
	 */
	public static String decrypt(String ciphertext) {
		StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
		encryptor.setPassword(KEY);
		return encryptor.decrypt(ciphertext);
	}
}

你可能感兴趣的:(Java,J2EE)