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

    最开始使用的aes-js的npm包,后来发现npm上面那个包只能加密16个长度的字节,非16个长度的字符串就会报错,后来使用的是crypto-js,

    AES总共有四种加密方式,我们使用的CBC方式:

    var CryptoJS = require("crypto-js");
    
    //解密方法
    function Decrypt(word) {
      var key = CryptoJS.enc.Utf8.parse("XXXXXXXXXXXX");
      var decrypt = CryptoJS.AES.decrypt(word, key, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
      });
      return CryptoJS.enc.Utf8.stringify(decrypt).toString();
    }
    
    //加密方法
    function Encrypt(word) {
      var key = CryptoJS.enc.Utf8.parse("XXXXXXXXXXXX");
      var srcs = CryptoJS.enc.Utf8.parse(word);
      var encrypted = CryptoJS.AES.encrypt(srcs, key, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
      });
      return encrypted.toString();
    }
    export {
      Decrypt,
      Encrypt
    }

    这个代码是配合后端java的AES加密解密,上面的XXXXXXXXXXXX是加解密的Key值,需前后端统一。

    【完】

    什么都经不住千锤百炼(源自良凌罗)

  • 相关阅读:
    docker运行爬虫代码
    python语法之流程控制(if while for)
    python基本数据类型
    python基本运算符
    python用户交互与格式化输出
    jieba模块基本介绍
    wordcloud库基本介绍
    计算机基础之编程语言
    计算机基础
    python入门之流程控制
  • 原文地址:https://www.cnblogs.com/tangjiao/p/10199658.html
Copyright © 2011-2022 走看看