最近写一个功能需要加密,在MD5和Base64中选择了base64,引用方法如下:
第一步:安装
npm install --save js-base64
第二步:在main.js中引入
import * as Base64 from 'js-base64'
Vue.prototype.$Base64 = Base64
第三步:页面中使用
const name = '张三'
const obj = {
userName:'李四',
password: '123'
}
// 加密
const baseName = this.Base64.encode(name)
const baseObj = this.Base64.encode(JSON.stringify(obj))
// 解密
const decName = this.Base64.decode(baseName)
const decObj = this.Base64.decode(baseObj)
// 对象解密需要转一下反序列化
const obj1 = JSON.parse(decObj)
问题:用谷歌、360、火狐、Microsoft Edge打开页面都是正常,IE浏览器打开就是一片空白。F12查看了一下,报错了。
原因:在安装时不指定版本,将默认安装最新版本。代码中的版本是3.7.2,但是从版本3开始需要ES2015支持,不再直接支持IE。
解决:把现在的版本卸载,安装2的版本
第一步:卸载
npm uninstall js-base64
第二步:指定版本安装
npm install js-base64@2.6.2 --save
第三步:使用
const Base64 = require('js-base64').Base64
const name = '张三'
const obj = {
userName:'李四',
password: '123'
}
// 加密
const baseName = Base64.encode(name)
const baseObj = Base64.encode(JSON.stringify(obj))
// 解密
const decName = Base64.decode(baseName)
const decObj = Base64.decode(baseObj)