zhaojs
2023-09-15 fc13938ff90213060532d99a600dea4a84456885
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * 工具类
 */
import Vue from 'vue'
import CryptoJS from 'crypto-js'
let keyStr = "ophwuv2E1qyy6R2r";//加密密钥
let ivStr  = "0102030405060708";//矢量
 
//加密
export function aes_encrypt(word){ 
    keyStr = keyStr ? keyStr : 'ophwuv2E1qyy6R2r';
    var key  = CryptoJS.enc.Utf8.parse(keyStr);
    var iv   = CryptoJS.enc.Utf8.parse(ivStr);
    // var srcs = CryptoJS.enc.Utf8.parse(word);
    var encrypted = CryptoJS.AES.encrypt(word, key, {
        iv:iv,
        mode:CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7});
    return encrypted.toString();
}
 
//解密  
export function aes_decrypt(word){  
    keyStr = keyStr ? keyStr : 'ophwuv2E1qyy6R2r';
    var key  = CryptoJS.enc.Utf8.parse(keyStr);//
    var iv   = CryptoJS.enc.Utf8.parse(ivStr);
    // const restoreBase64 = word.replace(/\-/g,'+').replace(/_/g,'/');
    var restoreBase64=word.replace(/[\r\n]/g,'');
 
    var decrypt = CryptoJS.AES.decrypt(restoreBase64, key, {
        iv:iv,
        mode:CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7});
    return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
 
module.exports = {
    aes_encrypt,
    aes_decrypt
}