【前端开发】随机密钥加密解密--再一修改cryptoJsUtil.js脚本

This commit is contained in:
dwq
2021-10-28 14:21:13 +08:00
committed by liyuetong
parent f8fd4804c3
commit 7a46496203

View File

@@ -1,6 +1,6 @@
/** /**
* @author * @author 李想
* @Date create in 2021/10/28 * @Date create in 2021/03/16
*/ */
import { JSEncrypt } from 'jsencrypt' import { JSEncrypt } from 'jsencrypt'
let CryptoJS = require('crypto-js') let CryptoJS = require('crypto-js')
@@ -51,6 +51,29 @@ export let AESDecrypt = function(encrypted, key) {
return decrypted.toString(CryptoJS.enc.Utf8) return decrypted.toString(CryptoJS.enc.Utf8)
} }
export let 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()
}
export let 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)
}
function format(base64, isPrivate = 0) { function format(base64, isPrivate = 0) {
var text = '-----BEGIN ' + (isPrivate ? 'PRIVATE' : 'PUBLIC') + ' KEY-----\n' var text = '-----BEGIN ' + (isPrivate ? 'PRIVATE' : 'PUBLIC') + ' KEY-----\n'
text += base64.replace(/[^\x00-\xff]/g, '$&\x01').replace(/.{64}\x01?/g, '$&\n') text += base64.replace(/[^\x00-\xff]/g, '$&\x01').replace(/.{64}\x01?/g, '$&\n')