资源简介
适用于Android、Java、Web端使用的AES、RSA加密工具类
代码片段和文件信息
import java.util.UUID;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
* AES工具类,密钥必须是16位字符串
*/
public class AESUtils {
/**偏移量必须是16位字符串*/
private static final String IV_STRING = “16-Bytes--String“;
/**
* 默认的密钥
*/
public static final String DEFAULT_KEY = “1bd83b249a414036“;
/**
* 产生随机密钥(这里产生密钥必须是16位)
*/
public static String generateKey() {
String key = UUID.randomUUID().toString();
key = key.replace(“-“ ““).substring(0 16);// 替换掉-号
return key;
}
public static String encryptData(String key String content) {
byte[] encryptedBytes = new byte[0];
try {
byte[] byteContent = content.getBytes(“UTF-8“);
// 注意,为了能与 iOS 统一
// 这里的 key 不可以使用 KeyGenerator、SecureRandom、SecretKey 生成
byte[] enCodeFormat = key.getBytes();
SecretKeySpec secretKeySpec = new SecretKeySpec(enCodeFormat “AES“);
byte[] initParam = IV_STRING.getBytes();
IvParameterSpec ivParameterSpec = new IvParameterSpec(initParam);
// 指定加密的算法、工作模式和填充方式
Cipher cipher = Cipher.getInstance(“AES/CBC/PKCS5Padding“);
cipher.init(Cipher.ENCRYPT_MODE secretKeySpec ivParameterSpec);
encryptedBytes = cipher.doFinal(byteContent);
// 同样对加密后数据进行 base64 编码
return base64Utils.encode(encryptedBytes);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String decryptData(String key String content) {
try {
// base64 解码
byte[] encryptedBytes = base64Utils.decode(content);
byte[] enCodeFormat = key.getBytes();
SecretKeySpec secretKey = new SecretKeySpec(enCodeFormat “AES“);
byte[] initParam = IV_STRING.getBytes();
IvParameterSpec ivParameterSpec = new IvParameterSpec(initParam);
Cipher cipher = Cipher.getInstance(“AES/CBC/PKCS5Padding“);
cipher.init(Cipher.DECRYPT_MODE secretKey ivParameterSpec);
byte[] result = cipher.doFinal(encryptedBytes);
return new String(result “UTF-8“);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String plainText = AESUtils.decryptData(“F431E6FF9051DA07“ “q8jHYk6LSbwC2K4zmr/wRZo8mlH0VdMzPEcAzQadTCpSrPQ/ZnTmuIvQxiLOnUXu“);
System.out.println(“aes加密后: “ + plainText);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-28 16:41 RSA+AES加密工具类\
目录 0 2017-02-28 16:41 RSA+AES加密工具类\lib\
文件 4364 2016-11-04 15:31 RSA+AES加密工具类\lib\javaba
目录 0 2017-02-28 16:41 RSA+AES加密工具类\src\
文件 2805 2017-02-28 15:53 RSA+AES加密工具类\src\AESUtils.java
文件 3212 2017-01-05 19:53 RSA+AES加密工具类\src\ba
文件 9718 2017-02-28 10:50 RSA+AES加密工具类\src\RSAUtils.java
相关资源
- rsa方式文件加密java版
- RSA加解密算法java源代码
- 对称加密AES算法,前后端实现
- java rsa非对称加密算法3个源代码
- 简单实现AES-CBC-MAC算法
- AES+RSA加密解密js和java互通.zip
- AES加解密优化版,明文密文相互转换
- Java实现密钥分配RSA+DES混合加密
- C#实现Java语言MD5withRSA/SHA256withRSA/SHA
- RSA、DES混合加密解决方案、数字签名
- C语言AES加密解密,CBC模式,256含测试
- Python AES和Java AES/ECB/PKCS5Padding互转
- ,亲测可用
- RSA 9.5 完美破解
- RSAUtil工具类
- AES算法Java实现
- UDP协议实现对等通讯Java+RSA加密解密传
- 128位AES加密算法C语言实现
- Delphi与JAVA互加解密AES算法
- AES 对所有格式文件加解密
- Java 数字签名和验证
- 一个采用AES算法的加密模块和调用V
- JAVA实现RSA加密
- RSA公钥加密算法Java实现
- IBM Rational Software ArchitectRSA) 9.0破解文
- Java RSA 分段加密解密工具 .NET密钥转换
-
android-UniversalMusicPla
yer.zip - zip文件256bit的AES加密解密
- universal-image-loader-1.9.5.jar 源码 demo 源
- C# RSA加密、解密、加签、验签、支持
评论
共有 条评论