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加密解密數據文章,感謝原作者


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM