aes.js
1.03 KB
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
import CryptoJS from 'crypto-js'
/**
* 使用ase加密
* @param word 需要加密的参数
* @param keyStr 加密的key
*/
const _encrypt = (word, keyStr) => {
keyStr = keyStr || '8751276152370123'
const key = CryptoJS.enc.Utf8.parse(keyStr)
const iv = CryptoJS.enc.Utf8.parse('0000000000000000')
const src = CryptoJS.enc.Utf8.parse(word)
const encrypted = CryptoJS.AES.encrypt(src, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
})
return encrypted.toString()
}
/**
* 使用ase解密
* @param word 需要解密的参数
* @param keyStr 解密的key
*/
const _decrypt = (word, keyStr) => {
keyStr = keyStr || '8751276152370123'
const key = CryptoJS.enc.Utf8.parse(keyStr)
const iv = CryptoJS.enc.Utf8.parse('0000000000000000')
const decrypt = CryptoJS.AES.decrypt(word, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
})
return CryptoJS.enc.Utf8.stringify(decrypt).toString()
}
export default {
encrypt: _encrypt,
decrypt: _decrypt
}