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.
 

62 lines
2.0 KiB

// //引用AES源码js
// var CryptoJS = require('aes.js'); 
// //十六位十六进制数作为秘钥
// var key = CryptoJS.enc.Utf8.parse("1234123412ABCDEF");
// //十六位十六进制数作为秘钥偏移量
// var iv = CryptoJS.enc.Utf8.parse('ABCDEF1234123412');
// //解密方法
// function Decrypt(word) {
// var encryptedHexStr = CryptoJS.enc.Hex.parse(word);
// 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();
// }
// //加密方法
// function Encrypt(word) {
// var srcs = CryptoJS.enc.Utf8.parse(word);
// var encrypted = CryptoJS.AES.encrypt(srcs, key, {
// iv: iv,
// mode: CryptoJS.mode.CBC,
// padding: CryptoJS.pad.Pkcs7
// });
// return encrypted.ciphertext.toString().toUpperCase();
// }
// //暴露接口
// module.exports = {
// Decrypt : Decrypt,
// Encrypt : Encrypt,
// }
// module.exports.Decrypt = Decrypt;
// module.exports.Encrypt = Encrypt;
var CryptoJS = require('aes.js');
var key = CryptoJS.enc.Utf8.parse("十六进制数作为秘钥");
var iv = CryptoJS.enc.Utf8.parse('十六进制数作为秘钥偏移量');
// AES加密
function Encrypt(word) {
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
return encrypted.ciphertext.toString().toUpperCase();
//toString() 转字符串 toUpperCase() 转换成大写
}
// AES解密
function Decrypt(word) {
var encryptedHexStr = CryptoJS.enc.Hex.parse(word);
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();
}
module.exports = {
Encrypt: Encrypt,
Decrypt: Decrypt,
}