美文网首页
前端和小程序加密 crypto-js的使用

前端和小程序加密 crypto-js的使用

作者: 低调的颜某人 | 来源:发表于2019-05-19 15:11 被阅读0次

    安装crypto-js

    npm install crypto --save
    

    引入

    小程序

    通过官方方式构建包,具体方式见官方

    在任何js文件中都可以引入npm包

    var CryptoJS = require("crypto-js");
    

    在utils目录下新建code.js

    var CryptoJS = require("crypto-js");
    const key = '9vApxLk5G3PAsJrM';
    const iv = 'FnJL7EDzjqWjcaY9';
    function decode(word) {
      let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
      let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
      let decrypt = CryptoJS.AES.decrypt(srcs, key, {
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
      });
      let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
      return decryptedStr.toString();
    }
    
    function encode(data) { //加密
    
      var parseKey = CryptoJS.enc.Utf8.parse(key);
      var parseIV = CryptoJS.enc.Utf8.parse(iv);
      var encrypted = CryptoJS.AES.encrypt(data, parseKey, {
        iv: parseIV,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
      });
      return encrypted.ciphertext.toString(); //返回的是hex格式的密文,encrypted.toString()返回base64格式
    }
    module.exports= {
      decode,
      encode
    }
    

    具体使用aes-128、aes-192或者aes-256,视key和iv的字节而定,
    16字节使用128,24字节使用192,32字节使用256,默认使用256

    在其他js文件引入即可
    还有其他的算法,官方API文档
    nodeJs加密使用
    可以用在加密请求参数上,就无法在控制台查看到请求的字段

    相关文章

      网友评论

          本文标题:前端和小程序加密 crypto-js的使用

          本文链接:https://www.haomeiwen.com/subject/eyhqzqtx.html