資源簡(jiǎn)介
Android、Java、Web三端通用的RSA和AES工具類(lèi)、Js,包含使用說(shuō)明

代碼片段和文件信息
import?java.util.UUID;
import?javax.crypto.Cipher;
import?javax.crypto.spec.IvParameterSpec;
import?javax.crypto.spec.SecretKeySpec;
/**
?*?AES工具類(lèi),密鑰必須是16位字符串
?*/
public?class?AESUtils?{
/**偏移量必須是16位字符串*/
????private?static?final?String?IV_STRING?=?“16-Bytes--String“;
????/**
?????*?默認(rèn)的密鑰
?????*/
????public?static?final?String?DEFAULT_KEY?=?“1bd83b249a414036“;
????/**
?????*?產(chǎn)生隨機(jī)密鑰(這里產(chǎn)生密鑰必須是16位)
?????*/
????public?static?String?generateKey()?{
????????String?key?=?UUID.randomUUID().toString();
????????key?=?key.replace(“-“?““).substring(0?16);//?替換掉-號(hào)
????????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);
????????????//?同樣對(duì)加密后數(shù)據(jù)進(jìn)行?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);
}
????
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????4364??2016-11-04?15:31??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Android+Java\lib\javaba
?????文件???????2805??2017-02-28?15:53??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Android+Java\src\AESUtils.java
?????文件???????3212??2017-01-05?19:53??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Android+Java\src\ba
?????文件???????9718??2017-02-28?10:50??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Android+Java\src\RSAUtils.java
?????文件??????14780??2017-01-07?11:03??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Web\js\aes.js
?????文件??????56505??2017-02-28?16:25??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Web\js\rsa.js
?????文件????????607??2017-02-28?16:40??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Web\演示的html\AES.html
?????文件????????825??2017-02-28?16:40??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Web\演示的html\RSA+AES.html
?????文件????????580??2017-02-28?16:40??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Web\演示的html\RSA.html
?????文件????????399??2017-02-28?16:47??Android、Java、Web三端通用的RSA和AES工具類(lèi)\使用說(shuō)明.txt
?????目錄??????????0??2017-02-28?16:41??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Android+Java\lib
?????目錄??????????0??2017-02-28?16:41??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Android+Java\src
?????目錄??????????0??2017-02-28?16:38??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Web\js
?????目錄??????????0??2017-02-28?16:39??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Web\演示的html
?????目錄??????????0??2017-02-28?16:41??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Android+Java
?????目錄??????????0??2017-02-28?16:38??Android、Java、Web三端通用的RSA和AES工具類(lèi)\Web
?????目錄??????????0??2017-04-10?15:01??Android、Java、Web三端通用的RSA和AES工具類(lèi)
-----------?---------??----------?-----??----
????????????????93795????????????????????17
評(píng)論
共有 條評(píng)論