分享

uniapp 接口加密问题

 hncdman 2022-05-13

分类:uni-app

接口采用3DES加密算法,加密模式CBC,填充方式PKCS7 Padding
1.首先安装 crypto-js npm install crypto-js --save-dev
2.新建 common/encrypt.js,内容:

复制代码var CryptoJS = require('crypto-js');    
var key = '' //加密秘钥  var iv = ''   //偏移量  module.exports = {   
    /**  
     * 加密  
     */  
    encryptByDES:function (message) {  
      const keyHex = CryptoJS.enc.Utf8.parse(key);  
      const encrypted = CryptoJS.TripleDES.encrypt(message, keyHex, {  
          iv: CryptoJS.enc.Utf8.parse(iv),  
          mode: CryptoJS.mode.CBC,  
          padding: CryptoJS.pad.Pkcs7  
       });  
      return encrypted.toString();  
    },  

    /**  
     * 解密  
     */  
    decryptByDES:function (ciphertext) {   
        const keyHex = CryptoJS.enc.Utf8.parse(key);  
        // direct decrypt ciphertext  
        const decrypted = CryptoJS.TripleDES.decrypt({  
                    ciphertext: CryptoJS.enc.Base64.parse(ciphertext)  
         }, keyHex, {  
                    iv: CryptoJS.enc.Utf8.parse(iv),  
                    mode: CryptoJS.mode.CBC,  
                    padding: CryptoJS.pad.Pkcs7  
        });  
        return decrypted.toString(CryptoJS.enc.Utf8);  
    }  
}

3.main.js
import Encrypt from './common/encrypt'
Vue.prototype.$encrypt = Encrypt

使用方式
this.$encrypt.encryptByDES(str) //加密
this.$encrypt.decryptByDES(str);//解密

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多