¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |