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

This commit is contained in:
liyuetong
2021-12-15 17:47:14 +08:00
parent 269bf1596f
commit a9c448ebc5
4 changed files with 32 additions and 56 deletions

View File

@@ -27,7 +27,30 @@ export let RSAEncrypt = function(data, publicKey) {
// crypt.setPrivateKey(privateKey)
// 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) {
var key = CryptoJS.enc.Utf8.parse(key)
var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF')
@@ -38,9 +61,8 @@ export let AESEncrypt = function(data, key) {
})
return encrypted.toString()
}
// AES解密
// AES解密V3
export let AESDecrypt = function(encrypted, key) {
//解密
var key = CryptoJS.enc.Utf8.parse(key)
var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF')
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {

View File

@@ -1,47 +0,0 @@
import CryptoJS from 'crypto-js'
export default {
AESEncrypt: function(data, keys) {
//加密
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()
},
AESDecrypt: function(encrypted, keys) {
//解密
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)
},
AESCacheEncrypt: function(data, keys) {
//加密 緩存
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()
},
AESCacheDecrypt: function(encrypted, keys) {
//解密 緩存
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)
}
}

View File

@@ -1,8 +1,9 @@
import axios from 'axios'
import AESToolsV2 from '@/assets/js/utils/cryptoJsUtilV2'
import {
MD5,
RSAEncrypt,
AESEncryptV2,
AESDecryptV2,
AESEncrypt,
AESDecrypt,
randomString,
@@ -200,7 +201,7 @@ service.interceptors.request.use(
}
}else if(configApp.API_VERSION == 'v2'){
config.headers['signature'] = MD5(timeStr + CacheUtils.getLocItem('token'))
let encrypt = AESToolsV2.AESEncrypt(JSON.stringify(config.data), configApp.REQ_PWD)
let encrypt = AESEncryptV2(JSON.stringify(config.data), configApp.REQ_PWD)
config.data = { data: encrypt }
}
}
@@ -266,8 +267,8 @@ service.interceptors.response.use(
res = JSON.parse(AESDecrypt(res.response, masterKey))
}else if(configApp.API_VERSION == 'v2'){
// 使用固定密钥解密返回结果data
res = JSON.parse(AESToolsV2.AESDecrypt(res.response, configApp.REQ_PWD))
console.log(JSON.parse(AESToolsV2.AESDecrypt(res.response, configApp.REQ_PWD)),'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))')
}
}
}

View File

@@ -19,7 +19,7 @@ let apiDomain, imgDomain, assetsUrl, mainUrl, payUrl, zssqUrl, REQ_PWD, CACHE_EN
console.log('环境:', process.env.VUE_APP_FLAG)
switch (process.env.VUE_APP_FLAG) {
case 'dev':
apiDomain = 'https://iagentsales-test2.e-guofu.com:5200/api/v2' // 国富api ///api/v1
apiDomain = 'https://iagentsales-test2.e-guofu.com:5200/api/v3' // 国富api ///api/v1
imgDomain = 'https://iagentsales-test3.e-guofu.com:5443/updown' // dev
// 静态服务资源
assetsUrl = 'https://iagentsales-test2.e-guofu.com:443/app/'
@@ -31,7 +31,7 @@ switch (process.env.VUE_APP_FLAG) {
// zssqUrl = 'https://iagentsales-test2.e-guofu.com:5100/html/test/index.html#/'
REQ_PWD = '41424344454631323334353637383930'
CACHE_ENCRYP = '41424344454631323334353637383930'
API_VERSION = 'v2'
API_VERSION = 'v3'
break
case 'uat':
apiDomain = 'https://iagentsales-test2.e-guofu.com:5200/api/v1' // 国富api