public class DESUtils {
private static Key key;
private static String KEY_STR = "mykey";
// 生成密钥
static{
try {
KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
keyGenerator.init(new SecureRandom(KEY_STR.getBytes()));
key = keyGenerator.generateKey();
keyGenerator=null;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
//加密
public static String getEncryptString(String str){
BASE64Encoder base64Encoder = new BASE64Encoder();
try {
byte[] strBtyes = str.getBytes("UTF8");
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE,key);
byte[] entryByte = cipher.doFinal(strBtyes);
return base64Encoder.encode(entryByte);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
//解密
public static String getDEcryptString(String str){
BASE64Decoder base64Decoder = new BASE64Decoder();
try {
byte[] strBytes = base64Decoder.decodeBuffer(str);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE,key);
byte[] decryBytes = cipher.doFinal(strBytes);
return new String(decryBytes,"utf8");
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static void main(String[] args) {
System.out.println(getEncryptString("0123456"));
System.out.println(getDEcryptString(getEncryptString("0123456")));
}
}
DES加密解密
最新推荐文章于 2023-03-31 13:54:38 发布