一、md5
npm install md5
二、JSEncrypt
2.1 介绍
JSEncrypt属于RSA加密,RSA加密算法是一种非对称加密算法;
2.2 使用
- 安装:
npm install jsencrypt --dev
- 封装工具:
utils/jsencrypt.js
import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'
// 密钥对生成 http://web.chacuo.net/netrsakeypair; 把下面生成的公钥、私钥换成自己生成的即可
// const publicKey = '' // 生成的公钥
// const privateKey = '' // 之前ssl生成的秘钥 privateKey
import {
PUBLICKEY as publicKey,
PRIVATEKEY as privateKey
} from '@/constant/index'
// 加密
export function encrypt(txt) {
const encryptor = new JSEncrypt()
encryptor.setPublicKey(publicKey) // 设置公钥
return encryptor.encrypt(txt) // 对数据进行加密
}
// 解密
export function decrypt(txt) {
const decryptor = new JSEncrypt()
decryptor.setPrivateKey(privateKey) // 设置私钥(之前ssl生成的秘钥 privateKey)
return decryptor.decrypt(txt) // 对数据进行解密(解密之前拿公钥加密的内容)
}
- 使用,如登录:
store/modules/user.js
// ...
import { encrypt, decrypt } from '@/utils/jsencrypt'
// ...
const state = {}
const mutations = {}
const actions = {
login({ commit }, obj) {
const { password } = obj
return new Promise((resolve, reject) => {
login({ password: encrypt(password) })
.then((data) => {
// ...保存data里的数据
// ...路由跳转
resolve(data)
})
.catch((err) => {
reject(err)
})
})
},
// ...
}
const user = {
namespaced: true,
state,
mutations,
actions
}
export default user