import Cookies from 'js-cookie';
import CryptoJS from 'crypto-js';
const idToken = 'id_token';
const refreshToken = 'refresh_token';
// key
const secretKey = "c1b34ea814586db4a22dad37e11c7256322ab0eee3a14ed1898f93d7a264242f";
const secretIv = "c1b34ea814586db4a22dad37e11c7256"
/**
* 加密
*/
export function encrypted(params) {
const key = CryptoJS.enc.Base64.parse(secretKey)
const iv = CryptoJS.enc.Utf8.parse(secretIv)
let result = CryptoJS.AES.encrypt(params, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return result.toString();
}
/**
* 解密
export function decrypted(params) {
const key = CryptoJS.enc.Base64.parse(secretKey);
const iv = CryptoJS.enc.Utf8.parse(secretIv)
const decrypt = CryptoJS.AES.decrypt(params, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
export function getToken() {
let id = Cookies.get(idToken);
let refresh = Cookies.get(refreshToken);
if (id && refresh) {
id = decrypted(id);
refresh = decrypted(refresh);
return {
'id_token': id,
'refresh_token': refresh
}
} else {
return {
'id_token': '',
'refresh_token': ''
}
}
}
export function setTokenAction(token) {
let { id_token = '', refresh_token = '' } = token;
id_token = encrypted(id_token)
refresh_token = encrypted(refresh_token)
Cookies.set(idToken, id_token, { expires: 1 });
Cookies.set(refreshToken, refresh_token, { expires: 1 });
}
export function removeTokenAction() {
Cookies.remove(idToken);
Cookies.remove(refreshToken);
}
CryptoJS加密
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 因为有个需要加密的需求(虽然这种加密前端的密钥还是会被被人拿到,但是目的只是加强破解难度),前端需要把传入的密码加...
- js部分: var myAes={ Encrypt:function(word, keyStr){//加密 var...
- 前言: 在我们开发中免不了和服务器做一些数据交互,在交互过程中走得都是http请求,这类请求不像https那样的安...
- JavaScript代码混淆加密 前言:众所周知,JavaScript大都是运行在浏览器端,这就导致任何人都可以直...