-
大小: 155KB文件类型: .zip金币: 2下载: 1 次发布日期: 2021-05-18
- 语言: JavaScript
- 标签: js java aes 加解密
资源简介
亲测可用。前后端,通过代码生成加密和解密。javascript可以解密和加密,反之,后端java代码可以加密和解密。包中有详细说明和例子代码。保证可以正确运行。
代码片段和文件信息
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.base64Decoder;
public class Encryption
{
public static void main(String args[]) throws Exception {
String data = “Test String啊啊啊啊啊啊啊啊啊啊啊啊啊啊“;
String s=encrypt(data);
System.out.println(s);
System.out.println(desEncrypt(s));
}
public static String encrypt(String data) throws Exception {
try {
String key = “1234567812345678“;
String iv = “1234567812345678“;
Cipher cipher = Cipher.getInstance(“AES/CBC/PKCS5Padding“);
int blockSize = cipher.getBlockSize();
byte[] dataBytes = data.getBytes();
int plaintextLength = dataBytes.length;
// if (plaintextLength % blockSize != 0) {
// plaintextLength = plaintextLength + (blockSize - (plaintextLength % blockSize));
// }
byte[] plaintext = new byte[plaintextLength];
System.arraycopy(dataBytes 0 plaintext 0 dataBytes.length);
SecretKeySpec keyspec = new SecretKeySpec(key.getBytes() “AES“);
IvParameterSpec ivspec = new IvParameterSpec(iv.getBytes());
cipher.init(Cipher.ENCRYPT_MODE keyspec ivspec);
byte[] encrypted = cipher.doFinal(plaintext);
return new sun.misc.base64Encoder().encode(encrypted);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static String desEncrypt(String data) throws Exception {
try
{
String key = “1234567812345678“;
String iv = “1234567812345678“;
byte[] encrypted1 = new base64Decoder().decodeBuffer(data);
Cipher cipher = Cipher.getInstance(“AES/CBC/PKCS5Padding“);
SecretKeySpec keyspec = new SecretKeySpec(key.getBytes() “AES“);
IvParameterSpec ivspec = new IvParameterSpec(iv.getBytes());
cipher.init(Cipher.DECRYPT_MODE keyspec ivspec);
byte[] original = cipher.doFinal(encrypted1);
String originalString = new String(original);
return originalString;
}
catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-09 10:36 CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\
文件 6148 2018-06-09 10:36 CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\.DS_Store
目录 0 2018-06-09 10:37 __MACOSX\
目录 0 2018-06-09 10:37 __MACOSX\CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\
文件 120 2018-06-09 10:36 __MACOSX\CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\._.DS_Store
文件 13360 2013-01-15 06:43 CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\aes.js
文件 222 2013-01-15 06:43 __MACOSX\CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\._aes.js
文件 157852 2015-05-12 13:58 CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\CryptoJS v3.1.2.zip
文件 218 2015-05-12 13:58 __MACOSX\CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\._CryptoJS v3.1.2.zip
文件 2516 2015-05-12 15:41 CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\Encryption.java
文件 222 2015-05-12 15:41 __MACOSX\CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\._Encryption.java
文件 732 2018-06-09 10:28 CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\test_pkcs5.html
文件 222 2018-06-09 10:28 __MACOSX\CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\._test_pkcs5.html
文件 212 2018-06-09 10:30 CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\璇存槑.txt
文件 171 2018-06-09 10:30 __MACOSX\CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES\._璇存槑.txt
文件 222 2018-06-09 10:36 __MACOSX\._CryptoJS v3.1.2鍜孞AVA鍔犺В瀵咥ES
相关资源
-
ja
vasc ript教程--从入门到精通(P -
ja
vasc ript高级程序设计第3版.pdf带 - 全球省市区json 数据 国内5级 区域
- 全国县级以上行政区编码json文件
- jQuery拖拽排序插件DDSort.js
- jquery-3.2.1.min.jssockjs-0.3.min.jsstomp.js
- avalon.js
- js 实现 分享 国密sm2和国密sm3
- 高德地图省市区县街道的JSON
-
原生ja
vasc ript飞机大战 - 2020年最新最全省市区json文件数据,国
- MD5.js js加密
- 成都市最新分区地图geojson文件(含高
-
ja
vasc ript编写的小游戏 - 疯狂前端开发讲义 jQuery+AngularJS+Boot
- JS语言精粹附英文原版
- java web租车系统.7z
- arcgis_js_v45_api.zip
-
ja
vasc ript某著名培训机构内部视频 - 最新验证身份证前6为json数据大全
- 十万词汇英汉词典词库JSON格式
- 京东全国省市区,行政区划四级数据
-
ja
vasc ript程序设计——事件 -
arcgis api for ja
vasc ript 4.16 全套.tx - jssip完整案例demo
- swiper-3.4.2.min.js
-
JS ba
se64编码/解码 -
程序员常用ja
vasc ript特效 - threeJS 3D效果
-
ja
vasc ript 高级程序设计第三版源码
评论
共有 条评论