前端加解密库 CryptoJS 使用(Triple DES 对称加密)
- Html/Css/Js
- 2021-06-04
- 17热度
- 0评论
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("www.mabokai.ltd") // 加密输出 ==> "zzqblAp0nkJVf2EtA+pm0g=="
解密输出:
dncrypted("zzqblAp0nkJVf2EtA+pm0g==") 解密输出==> "www.mabokai.ltd"
3DES(又叫Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。密钥长度是128位,192位(bit),如果密码位数少于等于64位,加密结果与DES相同。原版DES容易被破解,新的3DES出现,增加了加密安全性,避免被暴力破解。它同样是对称性加密,同样涉及到加密编码方式,及填充方式。包括3DES-ECB,3DES-CBC,3DES-CTR,3DES-OFB,3DES-CFB。

鲁ICP备19063141号
鲁公网安备 37010302000824号