當前位置:編程學習大全網 - 網站源碼 - 如何使用JAVA實現對字符串的DES加密和解密

如何使用JAVA實現對字符串的DES加密和解密

/**

*?ECB模式的des加密,以base64的編碼輸出

*?@param?message

*?@param?key

*?@return

*?@throws?Exception

*/

public?static?String?desEncrypt(String?message,?String?key)throws?Exception{

//?DES/ECB?CBC?CFB?OFB?/PKCS5Padding?NoPadding?加密/模式/填充

Cipher?cipher?=?Cipher.getInstance("DES");//默認就是?DES/ECB/PKCS5Padding

DESKeySpec?desKeySpec?=?new?DESKeySpec(key.getBytes());

SecretKeyFactory?keyFactory?=?SecretKeyFactory.getInstance("DES");

SecretKey?secretKey?=?keyFactory.generateSecret(desKeySpec);

cipher.init(1,?secretKey);

return?new?BASE64Encoder().encode(cipher.doFinal(message.getBytes("UTF-8")));

}

/**

*?ECB模式的des解密

*?@param?message

*?@param?key

*?@return

*?@throws?Exception

*/

public?static?String?desDecrypt(String?message,?String?key)throws?Exception{

Cipher?cipher?=?Cipher.getInstance("DES");

DESKeySpec?desKeySpec?=?new?DESKeySpec(key.getBytes());

SecretKeyFactory?keyFactory?=?SecretKeyFactory.getInstance("DES");

SecretKey?secretKey?=?keyFactory.generateSecret(desKeySpec);

cipher.init(2,?secretKey);

return?new?String(cipher.doFinal(Base64.decode(message)),?"UTF-8");

}

妳自己寫main方法測試壹下,應該是沒問題的

  • 上一篇:預測贏家的功能在贏者交易師裏都有?
  • 下一篇:C#讀取數據庫數據並動態繪制Visio流程
  • copyright 2024編程學習大全網