forked from huangwei9527/quark-h5
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsecret.js
49 lines (42 loc) · 1.26 KB
/
secret.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const CryptoJS = require('crypto-js'); //引用AES源码js
const keyStr = "icklsdufidsakdfa"; //十六位十六进制数作为密钥
const ivStr = ''; // 偏移量
function Encrypt(data){
var key = CryptoJS.enc.Utf8.parse(keyStr);
var iv = CryptoJS.enc.Utf8.parse(ivStr);
var encrypted =CryptoJS.AES.encrypt(data,key,{
iv:iv,
mode:CryptoJS.mode.ECB,
padding:CryptoJS.pad.Pkcs7
});
//返回的是base64格式的密文
return encrypted.ciphertext.toString();
}
// encrypted 为是base64格式的密文
function Decrypt(encrypted){
var encryptedHexStr = CryptoJS.enc.Hex.parse(encrypted);
var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
var key = CryptoJS.enc.Utf8.parse(keyStr);
var iv = CryptoJS.enc.Utf8.parse(ivStr);
var decrypted =CryptoJS.AES.decrypt(srcs,key,{
iv:iv,
mode:CryptoJS.mode.CBC,
padding:CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
// 测试加、解密
function testAES(){
var data = "1234567890123456"; // 明文
console.log("加密前:" + data);
// 测试加密
var encrypted = Encrypt(data); // 密文
console.log("加密后: " + encrypted);
// var decryptedStr = Decrypt(encrypted);
// console.log("解密后: " + decryptedStr);
}
// testAES()
export default {
Decrypt ,
Encrypt
}