index.ts 932 B

123456789101112131415161718192021222324252627
  1. import CryptoJS from 'crypto-js';
  2. const key = CryptoJS.enc.Utf8.parse('7563850888ABCDEF'); // 十六位十六进制数作为密钥
  3. const iv = CryptoJS.enc.Utf8.parse('ABCDEF7563850888'); // 十六位十六进制数作为密钥偏移量
  4. // 解密方法
  5. export const Decrypt = (word: string): string => {
  6. const encryptedHexStr = CryptoJS.enc.Hex.parse(word);
  7. const src = CryptoJS.enc.Base64.stringify(encryptedHexStr);
  8. const decrypt = CryptoJS.AES.decrypt(src, key, {
  9. iv,
  10. mode: CryptoJS.mode.CBC,
  11. padding: CryptoJS.pad.Pkcs7,
  12. });
  13. const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
  14. return decryptedStr.toString();
  15. };
  16. export const Encrypt = (word: string): string => {
  17. const src = CryptoJS.enc.Utf8.parse(word);
  18. const encrypted = CryptoJS.AES.encrypt(src, key, {
  19. iv,
  20. mode: CryptoJS.mode.CBC,
  21. padding: CryptoJS.pad.Pkcs7,
  22. });
  23. return encrypted.ciphertext.toString().toUpperCase();
  24. };