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值,需前后端统一。

    【完】

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

  • 相关阅读:
    Boot.ini
    CCP4 SET
    Install GTK+ GLIB
    C head file
    Changes in Python
    ubuntu
    错误: 配置节中设置 validateRequest=false 可以禁用请求验证
    c++中冒号(:)和双冒号(::)的用法
    C++学习之类和结构体
    C++中双冒号的作用
  • 原文地址:https://www.cnblogs.com/tangjiao/p/10199658.html
Copyright © 2011-2022 走看看