三十九级台阶
三十九级台阶
  • 发布:2019-11-28 11:24
  • 更新:2021-06-27 14:38
  • 阅读:4937

uniapp 接口加密问题

分类: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 关注 分享

要回复文章请先登录注册

r***@qq.com

r***@qq.com

对啊,密钥随便反编译一下是不是就看到了?
2021-06-27 14:38
阳东

阳东

密钥写在js文件里? 那不是被别人看得到 那加密有什么意义
2021-06-27 14:05