資源簡介
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?統(tǒng)一
????????????//?這里的?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
評論
共有 條評論