随机密码加密解密--v2环境,封装加密解密的方法

This commit is contained in:
liyuetong
2021-12-15 17:47:14 +08:00
committed by li.yuetong
parent d6fdb8534b
commit 2910d1ac9e
2 changed files with 33 additions and 9 deletions

View File

@@ -27,7 +27,30 @@ export let RSAEncrypt = function(data, publicKey) {
// crypt.setPrivateKey(privateKey) // crypt.setPrivateKey(privateKey)
// return crypt.decrypt(data) // return crypt.decrypt(data)
// } // }
// AES加密
export let AESEncryptV2 = function(data, keys) {
//加密V2
var key = CryptoJS.enc.Hex.parse(keys)
var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF') //偏移量
var encrypted = CryptoJS.AES.encrypt(data, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
return encrypted.toString()
}
export let AESDecryptV2 = function(encrypted, keys) {
//解密V2
var key = CryptoJS.enc.Hex.parse(keys)
var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF')
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
return CryptoJS.enc.Utf8.stringify(decrypted)
}
// AES加密V3
export let AESEncrypt = function(data, key) { export let AESEncrypt = function(data, key) {
var key = CryptoJS.enc.Utf8.parse(key) var key = CryptoJS.enc.Utf8.parse(key)
var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF') var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF')
@@ -38,9 +61,8 @@ export let AESEncrypt = function(data, key) {
}) })
return encrypted.toString() return encrypted.toString()
} }
// AES解密 // AES解密V3
export let AESDecrypt = function(encrypted, key) { export let AESDecrypt = function(encrypted, key) {
//解密
var key = CryptoJS.enc.Utf8.parse(key) var key = CryptoJS.enc.Utf8.parse(key)
var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF') var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF')
var decrypted = CryptoJS.AES.decrypt(encrypted, key, { var decrypted = CryptoJS.AES.decrypt(encrypted, key, {

View File

@@ -1,8 +1,9 @@
import axios from 'axios' import axios from 'axios'
// import AESTools from '@/assets/js/utils/cryptoJsUtil'
import { import {
MD5, MD5,
RSAEncrypt, RSAEncrypt,
AESEncryptV2,
AESDecryptV2,
AESEncrypt, AESEncrypt,
AESDecrypt, AESDecrypt,
randomString, randomString,
@@ -165,6 +166,8 @@ service.interceptors.request.use(
masterKey = window.localStorage.getItem('masterKey') masterKey = window.localStorage.getItem('masterKey')
} }
} }
// token 不存在初始化处理
let token = CacheUtils.getLocItem('token')
/** /**
* 请求拦截处理(待添加 判断走统一网关处理) * 请求拦截处理(待添加 判断走统一网关处理)
*/ */
@@ -197,14 +200,13 @@ service.interceptors.request.use(
console.log(AESDecrypt(config.data.data, masterKey)); console.log(AESDecrypt(config.data.data, masterKey));
} }
}else if(configApp.API_VERSION == 'v2'){ }else if(configApp.API_VERSION == 'v2'){
let encrypt = AESEncrypt(JSON.stringify(config.data), configApp.REQ_PWD) config.headers['signature'] = MD5(timeStr + CacheUtils.getLocItem('token'))
let encrypt = AESEncryptV2(JSON.stringify(config.data), configApp.REQ_PWD)
config.data = { data: encrypt } config.data = { data: encrypt }
} }
} }
} }
// token 不存在初始化处理
let token = CacheUtils.getLocItem('token')
if (!token) { if (!token) {
console.log('token====>>', token) console.log('token====>>', token)
// 设备类型 // 设备类型
@@ -230,7 +232,6 @@ service.interceptors.request.use(
// 添加请时间戳 // 添加请时间戳
let timeStr = new Date().getTime() + '' let timeStr = new Date().getTime() + ''
config.headers['timeStr'] = timeStr config.headers['timeStr'] = timeStr
// config.headers['signature'] = MD5(timeStr + CacheUtils.getLocItem('token'))
return config return config
}, },
error => { error => {
@@ -266,7 +267,8 @@ service.interceptors.response.use(
res = JSON.parse(AESDecrypt(res.response, masterKey)) res = JSON.parse(AESDecrypt(res.response, masterKey))
}else if(configApp.API_VERSION == 'v2'){ }else if(configApp.API_VERSION == 'v2'){
// 使用固定密钥解密返回结果data // 使用固定密钥解密返回结果data
res = JSON.parse(AESDecrypt(res.response, configApp.REQ_PWD)) res = JSON.parse(AESDecryptV2(res.response, configApp.REQ_PWD))
console.log(res,'JSON.parse(AESDecrypt(res.response, configApp.REQ_PWD))')
} }
} }
} }