• uniapp前端传参加密(二)(DES)


    DES加密解密

    概论:加密密钥和解密密钥是相同的,安全性高,运算速度快,但如果有n个合作伙伴就需要有n个密钥,管理不方便

    步骤:

    1.安装加解密插件crypto-js => npm install crypto-js

    2.复制插件中 crypto-js.js 文件到自己新建的文件中

    3.新建des文件夹=>des.js文件 代码如下

     1 import CryptoJS from '../crypto-js.js'
     2 
     3 /*
     4     DES(Data Encryption Standard)和TripleDES是对称加密的两种实现。
     5     DES和TripleDES基本算法一致,只是TripleDES算法提供的key位数更多,加密可靠性更高。
     6     DES使用的密钥key为8字节,初始向量IV也是8字节。
     7     TripleDES使用24字节的key,初始向量IV也是8字节。
     8 */
     9 //des加密 DES-EDE3-CBC
    10 var keyvi = '12345678';
    11 
    12 function des_encrypt(message) {
    13     var key = CryptoJS.MD5(keyvi).toString();
    14     var iv = CryptoJS.MD5(keyvi).toString();
    15     var crypto_key = CryptoJS.enc.Utf8.parse(key);
    16     var crypto_iv = CryptoJS.enc.Utf8.parse(iv.substr(0, 8));
    17 
    18     var encode_str = CryptoJS.TripleDES.encrypt(message, crypto_key, {
    19         iv: crypto_iv,
    20         mode: CryptoJS.mode.CBC,
    21         padding: CryptoJS.pad.Pkcs7
    22     });
    23     return encode_str.toString();
    24 
    25 }
    26 //des解密 DES-EDE3-CBC
    27 function des_decrypt(message) {
    28     var key = CryptoJS.MD5(keyvi).toString();
    29     var iv = CryptoJS.MD5(keyvi).toString();
    30     var crypto_key = CryptoJS.enc.Utf8.parse(key);
    31     var crypto_iv = CryptoJS.enc.Utf8.parse(iv.substr(0, 8));
    32     var decrypt_str = CryptoJS.TripleDES.decrypt(message, crypto_key, {
    33         iv: crypto_iv,
    34         mode: CryptoJS.mode.CBC,
    35         padding: CryptoJS.pad.Pkcs7
    36     });
    37     return decrypt_str.toString(CryptoJS.enc.Utf8);
    38 }
    39 
    40 module.exports = {
    41     des_encrypt: des_encrypt,
    42     des_decrypt: des_decrypt
    43 }

    4.文件用法:

    import {
            des_encrypt,
            des_decrypt
        } from '@/utils/des/des.js' // 引用路径根据自己的文件结构而定
    .........

      //具体用法

      var aaa = des_encrypt('12345678')
      console.log(des_encrypt('12345678', ))
      console.log(des_decrypt(aaa, 'key'))

     

     目录结构

    本文参考自JahanGU的博客中uni-app使用DES加密解密数据文章,感谢原作者

  • 相关阅读:
    python-条件判断
    获取网卡名称
    vSphere Client安装
    python远程执行命令
    xorm操作
    httpd服务安装配置
    error: failed to push some refs to 'git@gitee.com:xxxx'
    三种获取数据的方法fetch和ajax和axios
    react组件的生命周期
    react在移动端的自适应布局
  • 原文地址:https://www.cnblogs.com/dagongren/p/14015780.html
Copyright © 2020-2023  润新知