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

 

【完】

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

posted @ 2018-12-30 15:48  tangjiao_Miya  阅读(4428)  评论(0编辑  收藏  举报