class="java" name="code">import java.security.Provider;
import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.SecretKeySpec;
/**
* DES加密工具类
*
* @author 宋陆
* @date 2013-10-8
* @version 1.0
*/
public class DesUtil {
private static final String KEY = "chuanlu";
public static String encrypt(String strDataToEncrypt) {
byte[] key = KEY.getBytes();
Provider sunJCE = new com.sun.crypto.provider.SunJCE();
Security.addProvider(sunJCE);
String strAlgorithm = "DES";
SecretKeySpec keySpec = null;
DESKeySpec deskey = null;
String strResult = "";
try {
deskey = new DESKeySpec(key);
keySpec = new SecretKeySpec(deskey.getKey(), "DES");
Cipher cipher = Cipher.getInstance(strAlgorithm);
cipher.init(Cipher.ENCRYPT_MODE, keySpec);
byte[] utf8 = strDataToEncrypt.getBytes("UTF8");
byte[] enc = cipher.doFinal(utf8);
strResult = new sun.misc.BASE64Encoder().encode(enc);
} catch (Exception e) {
e.printStackTrace();
}
return strResult;
}
/**
* This function decrypt a given string using the DES algorithm.
*
* @param strDataToDecrypt
* The String to decrypt
* @param strKey
* The generated key used to decrypt
* @return The encrypted string
*/
public static String decrypt(String strDataToDecrypt) {
byte[] key = KEY.getBytes();
Provider sunJCE = new com.sun.crypto.provider.SunJCE();
Security.addProvider(sunJCE);
String strAlgorithm = "DES";
SecretKeySpec keySpec = null;
DESKeySpec deskey = null;
String strResult = "";
try {
deskey = new DESKeySpec(key);
keySpec = new SecretKeySpec(deskey.getKey(), "DES");
Cipher cipher = Cipher.getInstance(strAlgorithm);
cipher.init(Cipher.DECRYPT_MODE, keySpec);
byte[] dec = new sun.misc.BASE64Decoder().decodeBuffer(strDataToDecrypt);
byte[] utf8 = cipher.doFinal(dec);
return new String(utf8, "UTF8");
}
catch (Exception e) {
e.printStackTrace();
}
return strResult;
}
}
?