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"
     
     
  • 相关阅读:
    GPS 经纬度
    TP5 分页数据加锚点
    修改layui的表单手机、邮箱验证可以为空怎么实现?
    转录调控实战 | 一文解决转录调控问题 | chIP-seq | ATAC-seq
    管家基因 | Human housekeeping genes
    各国脑计划概览
    原创
    RLE Plots: relative log expression
    Polygenic score
    皮尔逊残差 | Pearson residual
  • 原文地址:https://www.cnblogs.com/winyh/p/12442535.html
Copyright © 2011-2022 走看看