前端加解密库 CryptoJS 使用(Triple DES 对称加密)

时间:2020-03-08
本文章向大家介绍前端加解密库 CryptoJS 使用(Triple DES 对称加密),主要包括前端加解密库 CryptoJS 使用(Triple DES 对称加密)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

CryptoJS 文档

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"
 
 

原文地址:https://www.cnblogs.com/winyh/p/12442535.html