资源简介
java、android、web三端通用的RSA和AES工具类、js,包含使用说明,之前设置所需0积分的,但是CSDN显示50积分,现改为1积分
代码片段和文件信息
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);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4364 2016-11-04 15:31 java、android、web三端通用的RSA和AES工具\java+android\lib\javaba
文件 2805 2017-02-28 15:53 java、android、web三端通用的RSA和AES工具\java+android\src\AESUtils.java
文件 3212 2017-01-05 19:53 java、android、web三端通用的RSA和AES工具\java+android\src\ba
文件 9718 2017-02-28 10:50 java、android、web三端通用的RSA和AES工具\java+android\src\RSAUtils.java
文件 14780 2017-01-07 11:03 java、android、web三端通用的RSA和AES工具\web\js\aes.js
文件 56505 2017-02-28 16:25 java、android、web三端通用的RSA和AES工具\web\js\rsa.js
文件 607 2017-02-28 16:40 java、android、web三端通用的RSA和AES工具\web\演示的html\AES.html
文件 825 2017-02-28 16:40 java、android、web三端通用的RSA和AES工具\web\演示的html\RSA+AES.html
文件 580 2017-02-28 16:40 java、android、web三端通用的RSA和AES工具\web\演示的html\RSA.html
文件 399 2017-02-28 16:47 java、android、web三端通用的RSA和AES工具\使用说明.txt
目录 0 2017-02-28 16:41 java、android、web三端通用的RSA和AES工具\java+android\lib
目录 0 2017-02-28 16:41 java、android、web三端通用的RSA和AES工具\java+android\src
目录 0 2017-02-28 16:38 java、android、web三端通用的RSA和AES工具\web\js
目录 0 2017-02-28 16:39 java、android、web三端通用的RSA和AES工具\web\演示的html
目录 0 2017-02-28 16:41 java、android、web三端通用的RSA和AES工具\java+android
目录 0 2017-02-28 16:38 java、android、web三端通用的RSA和AES工具\web
目录 0 2017-02-28 16:41 java、android、web三端通用的RSA和AES工具
----------- --------- ---------- ----- ----
93795 17
相关资源
- MAVEN RSA签名生成验签
- Q学习sarsa学习代码包
- RSA JAVA代码
- AES 基于 ECB+zeropadding+128+密码的加解密
- AESjava实现
- RSA+AES 加密工具类 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实现
评论
共有 条评论