dataParams.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import JSEncrypt from 'jsencrypt';
  2. import CryptoJS from 'crypto-js';
  3. export function createKey() {
  4. for (var e = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"], t = "", n = 0; n < 16; n++) {
  5. t += e[Math.ceil(61 * Math.random())]
  6. }
  7. return t
  8. }
  9. export function AESEncypt(data, encryptKey) {
  10. if(!encryptKey) {
  11. encryptKey = createKey()
  12. }
  13. var encrypted = CryptoJS.AES.encrypt(data, CryptoJS.enc.Utf8.parse(encryptKey), {
  14. mode: CryptoJS.mode.ECB,
  15. padding: CryptoJS.pad.Pkcs7
  16. });
  17. return {
  18. data: encrypted.ciphertext.toString(CryptoJS.enc.Base64),
  19. encryptKey: encryptKey
  20. };
  21. };
  22. export function AESDecrypt(data64, encryptKey){
  23. var ciphertext = CryptoJS.enc.Base64.parse(data64);
  24. var decrypted = CryptoJS.AES.decrypt({
  25. ciphertext: ciphertext
  26. }, CryptoJS.enc.Utf8.parse(encryptKey), {
  27. mode: CryptoJS.mode.ECB,
  28. padding: CryptoJS.pad.Pkcs7
  29. });
  30. return CryptoJS.enc.Utf8.stringify(decrypted).toString();
  31. };
  32. export function RSAEncrypt(data) {
  33. var publicRASEncryptKey = '-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjPrYs9it54O8ERC8g7tgTkueSaZ7tjy1Ki0giLHtyw/kUdajjOTnvncWMgnrpV96k3Miqwb70qwr+ew/+NpUDsxY0eBcmeOFzzq+zhh4l3fbUOOYgcK+BxtgptRXfZQeZohQPO/tZwr3oh2KO7dt3dkG1HERS5/SEUKhLg6LylwIDAQAB-----END PUBLIC KEY-----';
  34. const jsencrypt = new JSEncrypt();
  35. jsencrypt.setPublicKey(publicRASEncryptKey);
  36. return jsencrypt.encrypt(data);
  37. };
  38. export function RSADecrypt(data) {
  39. var publicRASEncryptKey = '-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjPrYs9it54O8ERC8g7tgTkueSaZ7tjy1Ki0giLHtyw/kUdajjOTnvncWMgnrpV96k3Miqwb70qwr+ew/+NpUDsxY0eBcmeOFzzq+zhh4l3fbUOOYgcK+BxtgptRXfZQeZohQPO/tZwr3oh2KO7dt3dkG1HERS5/SEUKhLg6LylwIDAQAB-----END PUBLIC KEY-----';
  40. const jsencrypt = new JSEncrypt();
  41. jsencrypt.setPublicKey(publicRASEncryptKey);
  42. return jsencrypt.decrypt(data);
  43. }