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

 

【完】

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM