zoukankan      html  css  js  c++  java
  • 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加密解密数据文章,感谢原作者

  • 相关阅读:
    Hdu 1429 胜利大逃亡(续) (bfs+状态压缩)
    Vijos 1456 最小总代价 (状压dp)
    洛谷 P1313 计算系数 (二项式定理)
    洛谷 P1134 阶乘问题
    EINTR错误
    TCP和UDP协议的应用/参数查看
    BAT面经
    高级环境编程要看的
    UDP丢包和无序 问题的解决方法
    tcp/ip
  • 原文地址:https://www.cnblogs.com/dagongren/p/14015780.html
Copyright © 2011-2022 走看看