35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
![]() |
// 引入加密包(注意存放的路径)
|
|||
|
const Crypto = require('./crypto');
|
|||
|
|
|||
|
// 秘钥,转换成utf8格式字符串,用于加密解密,一般长度是16位(由后端提供)
|
|||
|
const key = Crypto.enc.Utf8.parse('qw5w6SFE2D1jmxyd')
|
|||
|
// 偏移量,转换成utf8格式字符串,一般长度是16位(由后端提供)
|
|||
|
const iv = Crypto.enc.Utf8.parse('345GDFED433223DF')
|
|||
|
|
|||
|
// 解密(使用CBC模式)
|
|||
|
export function Decrtpt(value) {
|
|||
|
// 使用外部包中的AES的解密方法
|
|||
|
// value(解密内容)、key(密钥)
|
|||
|
let decrypt = Crypto.AES.decrypt(value, key, {
|
|||
|
iv, // 偏移量
|
|||
|
mode: Crypto.mode.CBC, // 模式(五种加密模式,各有优缺)
|
|||
|
padding: Crypto.pad.Pkcs7 // 填充
|
|||
|
})
|
|||
|
// 转成utf8格式字符串,并返回出去
|
|||
|
let decryptedStr = decrypt.toString(Crypto.enc.Utf8)
|
|||
|
return decryptedStr
|
|||
|
}
|
|||
|
|
|||
|
//加密(使用CBC模式)
|
|||
|
export function Encrypt(value) {
|
|||
|
// 使用外部包中的AES的加密方法
|
|||
|
// value(加密内容)、key(密钥)
|
|||
|
let encrypt = Crypto.AES.encrypt(value, key, {
|
|||
|
iv, // 偏移量
|
|||
|
mode: Crypto.mode.CBC, // 模式(五种加密模式)
|
|||
|
padding: Crypto.pad.Pkcs7 // 填充
|
|||
|
})
|
|||
|
// 将加密的内容转成字符串返回出去
|
|||
|
return encrypt.toString()
|
|||
|
}
|