资源简介
Android、Java、Web三端通用的RSA和AES工具类、Js,包含使用说明
代码片段和文件信息
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 Android、Java、Web三端通用的RSA和AES工具类\Android+Java\lib\javaba
文件 2805 2017-02-28 15:53 Android、Java、Web三端通用的RSA和AES工具类\Android+Java\src\AESUtils.java
文件 3212 2017-01-05 19:53 Android、Java、Web三端通用的RSA和AES工具类\Android+Java\src\ba
文件 9718 2017-02-28 10:50 Android、Java、Web三端通用的RSA和AES工具类\Android+Java\src\RSAUtils.java
文件 14780 2017-01-07 11:03 Android、Java、Web三端通用的RSA和AES工具类\Web\js\aes.js
文件 56505 2017-02-28 16:25 Android、Java、Web三端通用的RSA和AES工具类\Web\js\rsa.js
文件 607 2017-02-28 16:40 Android、Java、Web三端通用的RSA和AES工具类\Web\演示的html\AES.html
文件 825 2017-02-28 16:40 Android、Java、Web三端通用的RSA和AES工具类\Web\演示的html\RSA+AES.html
文件 580 2017-02-28 16:40 Android、Java、Web三端通用的RSA和AES工具类\Web\演示的html\RSA.html
文件 399 2017-02-28 16:47 Android、Java、Web三端通用的RSA和AES工具类\使用说明.txt
目录 0 2017-02-28 16:41 Android、Java、Web三端通用的RSA和AES工具类\Android+Java\lib
目录 0 2017-02-28 16:41 Android、Java、Web三端通用的RSA和AES工具类\Android+Java\src
目录 0 2017-02-28 16:38 Android、Java、Web三端通用的RSA和AES工具类\Web\js
目录 0 2017-02-28 16:39 Android、Java、Web三端通用的RSA和AES工具类\Web\演示的html
目录 0 2017-02-28 16:41 Android、Java、Web三端通用的RSA和AES工具类\Android+Java
目录 0 2017-02-28 16:38 Android、Java、Web三端通用的RSA和AES工具类\Web
目录 0 2017-04-10 15:01 Android、Java、Web三端通用的RSA和AES工具类
----------- --------- ---------- ----- ----
93795 17
相关资源
- android iOS php des 互通加密解密算法
- 基于客户端通信的DES加密的java实现
- JDBC线程安全的Druid数据库连接池工具
- RSA算法的Java实现
- JAVA实现BGN同态加密算法
- JAVA版的JS代码加密器
- 文件加密解密算法(Java源码)
- rsa 加密聊天程序
- 用Java实现的DES加密算法
- 单表代换加密算法的java实现
- Java实现RSA加密解密数字证书生成与验
- SM4java实现
- DES加密算法及其在Java中的实现
- AES加密解决了windows下正常,linux报错
- java des算法实现加密文字以及图片
- 用java编程语言RC4算法的加密和解密
- Java安全通信
- Java Cipher
- 可搜索加密
- Delphi7AES加密解密与JAVA互转默认128位
- JAVA给doc文档加密加水印
- Java加密与解密的艺术.rar 完整源代码
- RSA与AES混合加密算法的实现java版
- 北京联通全网有关网上订购和点播接
- 加密安全的java即时通信系统
- codec-1.10.jar
- 网上购买的传智播客Java就业班之手机
- JAVA加密MD5源代码
- Android启动时验证AVB
- 真正国密SM2SM3SM4的前后台配套js和ja
评论
共有 条评论