const key = CryptoJS.enc.Utf8.parse("4c43c365a4ac05b91eb5fa95"); // key const iv = CryptoJS.enc.Utf8.parse("4c43c365"); // iv // 直接使用 key 是不对的,需要像上面那样处理 // const key = "4c43c365a4ac05b91eb5fa95"; // key // const iv = key.substr(0, 8); // iv
function encrypted(){
const encrypted = CryptoJS.TripleDES.encrypt(params, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); // 返回加密后的字符串
}
function decrypted(params) { const decrypted = CryptoJS.TripleDES.decrypt(encrypted, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }).toString(CryptoJS.enc.Utf8); return decrypted // 返回解密后的字符串 }
例子: 后台 key: 4c43c365a4ac05b91eb5fa95
加密算法: 3DES(又叫Triple DES)是三重数据加密算法
加密模式: CBC
填充: Pkcs7
偏移量: 4c43c365 (默认为key 的前8位)
输出:base64
字符集:utf-8
加密输出:
encrypted("winyh_2020-03-08_14:30_CryptoJS_Test") // 加密输出 ==> '2KI3DXKp3Yh4v7olUa93LUpapo6Jha92cY9/EICBv/LH2kZu57Mtxg=='
解密输出:
dncrypted("2KI3DXKp3Yh4v7olUa93LUpapo6Jha92cY9/EICBv/LH2kZu57Mtxg==") 解密输出==> "winyh_2020-03-08_14:30_CryptoJS_Test"
加密输出:
encrypted("winyh") // 加密输出 ==> 'J3y7sIjJQgs='
解密输出:
dncrypted("J3y7sIjJQgs=") 解密输出==> "winyh"