资源简介
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图像用户界面实现的通讯录程序
相关资源
- C语言AES加密解密,CBC模式,256含测试
- Python AES和Java AES/ECB/PKCS5Padding互转
- AES算法Java实现
- 128位AES加密算法C语言实现
- Delphi与JAVA互加解密AES算法
- AES 对所有格式文件加解密
- 一个采用AES算法的加密模块和调用V
- zip文件256bit的AES加密解密
- java使用AES加密/解密文件
- AES加解密JS文件
- AES For Delphi And Java V2.0.0.0.rar
- AES256加密工具类,及其所必须的jar包
- c++ AES 兼容 JAVA AES CBC PKCS5Padding C#
- UnlimitedJCEPolicy --JCE策略文件包含适用
- AES算法实现文件的加密解密(Java语言
- java MD5,AES及 六位随机码生成
- AESHelper 工具类
- 微信小程序 AES加密 ECB模式js文件
- Android-ndk-jni AES加解密 C++
- 基于openssl的AES256 的CBC模式的加解密处
- AESjava底层实现原理代码实现。。。。
- AES/DES 对称加密算法
-
AES+ba
se64加密解密工具类 - RSA、AES混合加密解密,Java工程、安卓
- AES加密解密iOSAndroidJava.Net通用
- 解决aes加密限制.zip
- apk加解密工具类
- java AES加密/解密算法
- Java AES128加密解密 (AES/ECB/PKCS7Paddin
-
java加密、解密Sha/Md5/AES/ba
se64
评论
共有 条评论