当前位置:   article > 正文

微信小程序 AES加密、解密数据_微信小程序 字符串加密

微信小程序 字符串加密

1、引入crypto-js.js

地址:https://blog-static.cnblogs.com/files/gygg/crypto-js.js

2、在utils文件夹下新建aes.js,封装加密,解密方法

以ECB模式为例

  1. const CryptoJS = require('crypto-js');
  2. // 默认的 KEY 与 iv 如果没有给
  3. const KEY = CryptoJS.enc.Utf8.parse('QDCARES20240307Y'); // 十六位十六进制数作为密钥
  4. const IV = CryptoJS.enc.Utf8.parse('RTGEtgd12ytb67VR'); // 十六位十六进制数作为密钥偏移量
  5. /**
  6. * AES加密 :字符串 key iv 返回base64
  7. * 把默认的KEY 与 iv赋值给变量
  8. * 如果有keyStr 重新赋值密钥
  9. * 重新设置密钥偏移量
  10. */
  11. function encrypted(word, keyStr, ivStr) {
  12. let key = KEY;
  13. let iv = IV;
  14. if (keyStr) {
  15. key = CryptoJS.enc.Utf8.parse(keyStr);
  16. iv = CryptoJS.enc.Utf8.parse(ivStr);
  17. }
  18. const srcs = CryptoJS.enc.Utf8.parse(word);
  19. const encrypted = CryptoJS.AES.encrypt(srcs, key, {
  20. iv, // 偏移量
  21. mode: CryptoJS.mode.ECB,
  22. padding: CryptoJS.pad.Pkcs7
  23. });
  24. return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
  25. }
  26. // 解密
  27. function decrypted(word, keyStr, ivStr) {
  28. let key = KEY;
  29. let iv = IV;
  30. if (keyStr) {
  31. key = CryptoJS.enc.Utf8.parse(keyStr);
  32. iv = CryptoJS.enc.Utf8.parse(ivStr);
  33. }
  34. const base64 = CryptoJS.enc.Base64.parse(word);
  35. const src = CryptoJS.enc.Base64.stringify(base64);
  36. const decrypted = CryptoJS.AES.decrypt(src, key, {
  37. iv, // 偏移量
  38. mode: CryptoJS.mode.ECB,
  39. padding: CryptoJS.pad.Pkcs7
  40. });
  41. const decryptedStr = decrypted.toString(CryptoJS.enc.Utf8);
  42. return decryptedStr.toString();
  43. }
  44. module.exports = {
  45. encrypted,
  46. decrypted
  47. };

3、使用

加密使用

 解密使用

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号