hejianhao
2025-04-16 dab2d210ca06c1faa514c6388fbd5de1ab355360
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/**
 
 * AES加密
 
 * @param {*} word      当前有效参数
 
 * @param {*} keyStr    KEY值,加密的盐
 
 * @returns
 
 */
import CryptoJS from 'crypto-js';
export function encryptAES(word, keyStr) {
    keyStr = keyStr ? keyStr : 'Ryo7M3n8loC5Abcd'; //判断是否存在ksy,不存在就用定义好的key
    var key = CryptoJS.enc.Utf8.parse(keyStr);
    var viStr = key;//偏移量
    let srcs = CryptoJS.enc.Utf8.parse(word);
    let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: viStr, mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
    // var res = encrypted.ciphertext.toString();
    var res = encrypted.toString(); // base64
    return res;
}
 
/**
 
 * AES解密
 
 * @param {*} word      被AES加密后的字符串
 
 * @param {*} keyStr    KEY值,解密的盐
 
 * @returns
 
 */
 
export function decryptAES(word, keyStr) {
 
    // console.log('解密密文: word=',word);
 
    keyStr = keyStr ? keyStr : 'Ryo7M3n8loC5Abcd';
 
    var key = CryptoJS.enc.Utf8.parse(keyStr);
 
    var viStr = key;//偏移量
 
    let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
 
    let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
 
    var decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: viStr, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
 
    var res = decrypt.toString(CryptoJS.enc.Utf8).toString();
 
    // console.log('解密结果 res=',res);
 
    return res;
 
    // return CryptoJS.enc.Utf8.stringify(decrypt).toString();
 
}
 
/**
 
 * 随机生成指定数量的16进制key
 
 * @param {*} num   指定KEY的位数
 
 * @returns
 
 */
 
export function generatekeyAES(num) {
 
    let library = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
 
    let key = "";
 
    for (var i = 0; i < num; i++) {
 
        let randomPoz = Math.floor(Math.random() * library.length);
 
        key += library.substring(randomPoz, randomPoz + 1);
 
    }
 
    return key;
}