|
@@ -1,80 +0,0 @@
|
|
|
-import CryptoJS from 'crypto-js'
|
|
|
-
|
|
|
-export default class crypto {
|
|
|
- // 使用AesUtil.genAesKey()生成,需和后端配置保持一致
|
|
|
- static aesKey = 'O2BEeIv399qHQNhD6aGW8R8DEj4bqHXm'
|
|
|
-
|
|
|
- // 使用DesUtil.genDesKey()生成,需和后端配置保持一致
|
|
|
- static desKey = 'jMVCBsFGDQr1USHo'
|
|
|
-
|
|
|
- /**
|
|
|
- * aes 加密方法
|
|
|
- * @param data
|
|
|
- * @returns {*}
|
|
|
- */
|
|
|
- static encrypt(data) {
|
|
|
- return this.encryptAES(data, this.aesKey)
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * aes 解密方法
|
|
|
- * @param data
|
|
|
- * @returns {*}
|
|
|
- */
|
|
|
- static decrypt(data) {
|
|
|
- return this.decryptAES(data, this.aesKey)
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * aes 加密方法,同java:AesUtil.encryptToBase64(text, aesKey);
|
|
|
- */
|
|
|
- static encryptAES(data, key) {
|
|
|
- const dataBytes = CryptoJS.enc.Utf8.parse(data)
|
|
|
- const keyBytes = CryptoJS.enc.Utf8.parse(key)
|
|
|
- const encrypted = CryptoJS.AES.encrypt(dataBytes, keyBytes, {
|
|
|
- iv: keyBytes,
|
|
|
- mode: CryptoJS.mode.CBC,
|
|
|
- padding: CryptoJS.pad.Pkcs7,
|
|
|
- })
|
|
|
- return CryptoJS.enc.Base64.stringify(encrypted.ciphertext)
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * aes 解密方法,同java:AesUtil.decryptFormBase64ToString(encrypt, aesKey);
|
|
|
- */
|
|
|
- static decryptAES(data, key) {
|
|
|
- const keyBytes = CryptoJS.enc.Utf8.parse(key)
|
|
|
- const decrypted = CryptoJS.AES.decrypt(data, keyBytes, {
|
|
|
- iv: keyBytes,
|
|
|
- mode: CryptoJS.mode.CBC,
|
|
|
- padding: CryptoJS.pad.Pkcs7,
|
|
|
- })
|
|
|
- return CryptoJS.enc.Utf8.stringify(decrypted)
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * des 加密方法,同java:DesUtil.encryptToBase64(text, desKey)
|
|
|
- */
|
|
|
- static encryptDES(data, key) {
|
|
|
- const keyHex = CryptoJS.enc.Utf8.parse(key)
|
|
|
- const encrypted = CryptoJS.DES.encrypt(data, keyHex, {
|
|
|
- mode: CryptoJS.mode.ECB,
|
|
|
- padding: CryptoJS.pad.Pkcs7,
|
|
|
- })
|
|
|
- return encrypted.toString()
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * des 解密方法,同java:DesUtil.decryptFormBase64(encryptBase64, desKey);
|
|
|
- */
|
|
|
- static decryptDES(data, key) {
|
|
|
- const keyHex = CryptoJS.enc.Utf8.parse(key)
|
|
|
- const decrypted = CryptoJS.DES.decrypt({
|
|
|
- ciphertext: CryptoJS.enc.Base64.parse(data),
|
|
|
- }, keyHex, {
|
|
|
- mode: CryptoJS.mode.ECB,
|
|
|
- padding: CryptoJS.pad.Pkcs7,
|
|
|
- })
|
|
|
- return decrypted.toString(CryptoJS.enc.Utf8)
|
|
|
- }
|
|
|
-}
|