很多加密包都提供复杂的加密算法,比如MD5,这些算法有的是不可逆的。
有时候我们需要可逆算法,将敏感数据加密后放在数据库或配置文件中,在需要时再再还原。
这里介绍一种非常简单的java实现可逆加密算法。
算法使用一个预定义的种子(seed)来对加密内容进行异或运行,解密只用再进行一次异或运算就还原了。
代码如下:
seed任意写都可以。
package cn.exam.signup.service.pay.util;
import java.math.BigInteger;
import java.util.Arrays;
public class EncrUtil {
private static final int RADIX = 16;
private static final String SEED = "0933910847463829232312312";
public static final String encrypt(String password) {
if (password == null)
return "";
if (password.length() == 0)
return "";
BigInteger bi_passwd = new BigInteger(password.getBytes());
B