微信小程序AES的加密与解密的案例

微信小程序使用AES加密和解密的方法

1)、首先把aes.js放在utils文件夹里面(首先需要注意的是在aes.js文件里面要暴露一下这个变量module.exports = CryptoJS;

2)、然后再在utils文件里面建立一个public.js的文件,public.js封装号解密和加密的方法如以下的代码片段:

var CryptoJS = require('aes.js');  //引用AES源码js
var key = CryptoJS.enc.Utf8.parse("1234123412ABCDEF");//十六位十六进制数作为秘钥
var iv = CryptoJS.enc.Utf8.parse('ABCDEF1234123412');//十六位十六进制数作为秘钥偏移量

//解密的方法
function Decrypt(word){
  //console.log(word);
  // var encryptedHexStr = CryptoJS.enc.Hex.parse(word);
  // var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
  // console.log(encryptedHexStr);
  // console.log(key);
  // console.log(iv);
  var decrypt = CryptoJS.AES.decrypt(word, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
  var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
  return decryptedStr.toString();
}

//加密的方法
function Encrypt(word) {
  var srcs = CryptoJS.enc.Utf8.parse(word);
  var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
  //return encrypted.ciphertext.toString().toUpperCase();   //这个是基础的16位16进制的加密返回值
  return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
}


module.exports.Decrypt = Decrypt;
module.exports.Encrypt = Encrypt;

3)、然后在自己的组件里面测试使用,片段代码如下:

// pages/newsUserLead/newsUserLead.js
var time = require('../../utils/util.js');  //时间戳转换时间格式的方法;
var Dec = require('../../utils/public.js');    //aes加密与解密封装的方法
var RSA = require('../../utils/wx_rsa.js');   //rsa的解密和加密方法;

Page({

  /**
   * 页面的初始数据
   */
  data: {
    movies: [
    ],
    beforeColor: "#f7dee3",//指示点颜色
    afterColor: "#e492a2",//当前选中的指示点颜色
    autoplay:false,
    display: "none",
    booleans:''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    wx.setStorageSync("mollySession", "");
    wx.setStorageSync("isBandPh", false);
    wx.removeStorageSync("orderData");
    wx.removeStorageSync("detailData");
    wx.removeStorageSync("sunbinfoData");
    wx.removeStorageSync("allcount");
    
    // 这个是使用aes进行加密和解密的方法和列子
    console.log(Dec.Encrypt("23435ko"),"这个是什么东西呢,啊啊啊啊~~");
    console.log(Dec.Decrypt("JDhP6QgHMve3UfdhXoeSRQ=="),"这个是需要解密的东西啊哈哈~")

 
  },
})

 

加密的结果:JDhP6QgHMve3UfdhXoeSRQ== 这个是什么东西呢,啊啊啊啊~~

解密的结果:23435ko 这个是需要解密的东西啊哈哈~

 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值