zoukankan      html  css  js  c++  java
  • AES加解密

      //秘钥
      const CRYPTOJSKEY = "xxxxxxxxxxxx";
      // 加密
      function encrypt(plaintText) {
        var plaintText = plaintText;
        var options = {
          mode: CryptoJS.mode.ECB,
          padding: CryptoJS.pad.Pkcs7
        };
        var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
        var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options);
        var encryptedBase64Str = encryptedData.toString();
        return encryptedBase64Str;
      }
      //解密
      function decrypt(encryptedBase64Str) {
        var vals = encryptedBase64Str;
        var options = {
          mode: CryptoJS.mode.ECB,
          padding: CryptoJS.pad.Pkcs7
        };
        var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
        var decryptedData = CryptoJS.AES.decrypt(vals, key, options);
        var decryptedStr = CryptoJS.enc.Utf8.stringify(decryptedData);
        return decryptedStr
      }
    注:发送网络请求是加密字符串中的'+'字符会被转义(encodeURIComponent 方法解决)
    例:encodeURIComponent(encrypt(JSON.stringify(params)))   //params  需要加密的对象
  • 相关阅读:
    JavaIO流(四) File文件对象
    Java IO流(三) 字符流Reader和Writer
    Java IO流(二) 字节流InputStream和OutputStream
    Java IO流(一)入门
    Decorator(装饰者)模式
    Listener(监听器)
    Filter(过滤器)
    Java开发入门
    啊哈哈,写博客的第一天
    MySQL变量
  • 原文地址:https://www.cnblogs.com/anziran/p/14976090.html
Copyright © 2011-2022 走看看