DES加密
创建DesUtil类
package com.dx.util;
import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import sun.misc.BASE64Encoder;
public class DesUtil {
private final static String DES = "DES";
/**
* 加密(用key将data加密)
*
* @param key
* @param data
* @return
* @throws Exception
*/
public static String encode(String key, String data) {
try {
SecureRandom sr = new SecureRandom();
DESKeySpec dks = new DESKeySpec(key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);
SecretKey securekey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance(DES);
cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);
byte[] bytes = cipher.doFinal(data.getBytes("utf-8"));
return new BASE64Encoder().encode(bytes);
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
}
调用示例
//secret为加密对象,apikey为加密值
String secret2 = DesUtil.encode(apiKey,secret);
加密还可参见Md5加密方式