You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
41 lines
1.4 KiB
var aesFun = {
|
|
_KEY: "78061778009293510783063755004715",//32位
|
|
_IV: "6603750123433742",//16位
|
|
/**************************************************************
|
|
*字符串加密
|
|
* str:需要加密的字符串
|
|
****************************************************************/
|
|
Encrypt: function (str) {
|
|
var key = CryptoJS.enc.Utf8.parse(this._KEY);
|
|
var iv = CryptoJS.enc.Utf8.parse(this._IV);
|
|
|
|
var encrypted = '';
|
|
|
|
var srcs = CryptoJS.enc.Utf8.parse(str);
|
|
encrypted = CryptoJS.AES.encrypt(srcs, key, {
|
|
iv: iv,
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
});
|
|
|
|
return encrypted.ciphertext.toString();
|
|
},
|
|
|
|
/**************************************************************
|
|
*字符串解密
|
|
* str:需要解密的字符串
|
|
****************************************************************/
|
|
Decrypt: function (str) {
|
|
var key = CryptoJS.enc.Utf8.parse(this._KEY);
|
|
var iv = CryptoJS.enc.Utf8.parse(this._IV);
|
|
var encryptedHexStr = CryptoJS.enc.Hex.parse(str);
|
|
var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
|
|
var decrypt = CryptoJS.AES.decrypt(srcs, key, {
|
|
iv: iv,
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
});
|
|
var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
|
|
return decryptedStr.toString();
|
|
}
|
|
}
|