資源簡介
AES加解密(優化版,明文密文相互轉換)
代碼片段和文件信息
package?com.framework.util;
import?java.io.UnsupportedEncodingException;
import?java.security.InvalidKeyException;
import?java.security.NoSuchAlgorithmException;
import?java.security.SecureRandom;
import?javax.crypto.BadPaddingException;
import?javax.crypto.Cipher;
import?javax.crypto.IllegalBlockSizeException;
import?javax.crypto.KeyGenerator;
import?javax.crypto.NoSuchPaddingException;
import?javax.crypto.SecretKey;
import?javax.crypto.spec.SecretKeySpec;
public?class?AESTool?{
private?static?final?String?aes_pwd?=?“123456!“;
/**?
?*?加密?
?*??
?*?@param?content?需要加密的內容?
?*?@param?password??加密密碼?
?*?@return?
?*/??
public?static?byte[]?encrypt(String?content?String?password)?{??
????????try?{?????????????
????????????????KeyGenerator?kgen?=?KeyGenerator.getInstance(“AES“);??
????????????????kgen.init(128?new?SecureRandom(password.getBytes()));??
????????????????SecretKey?secretKey?=?kgen.generateKey();??
????????????????byte[]?enCodeFormat?=?secretKey.getEncoded();??
????????????????SecretKeySpec?key?=?new?SecretKeySpec(enCodeFormat?“AES“);??
????????????????Cipher?cipher?=?Cipher.getInstance(“AES“);//?創建密碼器???
????????????????byte[]?byteContent?=?content.getBytes(“utf-8“);??
????????????????cipher.init(Cipher.ENCRYPT_MODE?key);//?初始化???
????????????????byte[]?result?=?cipher.doFinal(byteContent);??
????????????????return?result;?//?加密???
????????}?catch?(NoSuchAlgorithmException?e)?{??
????????????????e.printStackTrace();??
????????}?catch?(NoSuchPaddingException?e)?{??
????????????????e.printStackTrace();??
????????}?catch?(InvalidKeyException?e)?{??
????????????????e.printStackTrace();??
????????}?catch?(UnsupportedEncodingException?e)?{??
????????????????e.printStackTrace();??
????????}?catch?(IllegalBlockSizeException?e)?{??
????????????????e.printStackTrace();??
????????}?catch?(BadPaddingException?e)?{??
????????????????e.printStackTrace();??
????????}??
????????return?null;??
}??
????/**解密
?????*?@param?content??待解密內容
?????*?@param?password?解密密鑰
?????*?@return
?????*/
????public?static?byte[]?decrypt(byte[]?content?String?password)?{
????????????try?{
?????????????????????KeyGenerator?kgen?=?KeyGenerator.getInstance(“AES“);
?????????????????????kgen.init(128?new?SecureRandom(password.getBytes()));
?????????????????????SecretKey?secretKey?=?kgen.generateKey();
?????????????????????byte[]?enCodeFormat?=?secretKey.getEncoded();
?????????????????????SecretKeySpec?key?=?new?SecretKeySpec(enCodeFormat?“AES“);????????????
?????????????????????Cipher?cipher?=?Cipher.getInstance(“AES“);//?創建密碼器
????????????????????cipher.init(Cipher.DECRYPT_MODE?key);//?初始化
????????????????????byte[]?result?=?cipher.doFinal(content);
????????????????????return?result;?//?加密
????????????}?catch?(NoSu
- 上一篇:Java EE期末考試試題
- 下一篇:java圖像用戶界面實現的通訊錄程序
評論
共有 條評論