zoukankan      html  css  js  c++  java
  • 前端加解密库 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"
     
     
  • 相关阅读:
    TypeError: 'ExcelData' object is not iterable
    输出重定向
    联想Thinkpad T450 屏幕更换记录
    C-sysytem命令的使用
    CMD命令大全
    Ubuntu16.04 添加 Docker用户组
    Docker学习
    Linux系统卡死后紧急处理
    Django之ModelForm详解
    Django的ORM实现数据库事务操作
  • 原文地址:https://www.cnblogs.com/winyh/p/12442535.html
Copyright © 2011-2022 走看看