encrypt.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { JSEncrypt } from 'jsencrypt/bin/jsencrypt.min'
  2. import { getPublicKey } from '@/api/publicKey'
  3. const privateKey =
  4. 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMFPa+v52FkSUXvcUnrGI/XzW3EpZRI0s9BCWJ3oNQmEYA5luWW5p8h0uadTIoTyYweFPdH4hveyxlwmS7oefvbIdiP+o+QIYW/R4Wjsb4Yl8MhR4PJqUE3RCy6IT9fM8ckG4kN9ECs6Ja8fQFc6/mSl5dJczzJO3k1rWMBhKJD/AgMBAAECgYEAucMakH9dWeryhrYoRHcXo4giPVJsH9ypVt4KzmOQY/7jV7KFQK3x//27UoHfUCak51sxFw9ek7UmTPM4HjikA9LkYeE7S381b4QRvFuf3L6IbMP3ywJnJ8pPr2l5SqQ00W+oKv+w/VmEsyUHr+k4Z+4ik+FheTkVWp566WbqFsECQQDjYaMcaKw3j2Zecl8T6eUe7fdaRMIzp/gcpPMfT/9rDzIQk+7ORvm1NI9AUmFv/FAlfpuAMrdL2n7p9uznWb7RAkEA2aP934kbXg5bdV0R313MrL+7WTK/qdcYxATUbMsMuWWQBoS5irrt80WCZbG48hpocJavLNjbtrjmUX3CuJBmzwJAOJg8uP10n/+ZQzjEYXh+BszEHDuw+pp8LuT/fnOy5zrJA0dO0RjpXijO3vuiNPVgHXT9z1LQPJkNrb5ACPVVgQJBALPeb4uV0bNrJDUb5RB4ghZnIxv18CcaqNIft7vuGCcFBAIPIRTBprR+RuVq+xHDt3sNXdsvom4h49+Hky1b0ksCQBBwUtVaqH6ztCtwUF1j2c/Zcrt5P/uN7IHAd44K0gIJc1+Csr3qPG+G2yoqRM8KVqLI8Z2ZYn9c+AvEE+L9OQY='
  5. /**
  6. * @author chuzhixin 1204505056@qq.com (不想保留author可删除)
  7. * @description RSA加密
  8. * @param data
  9. * @returns {Promise<{param: PromiseLike<ArrayBuffer>}|*>}
  10. */
  11. export async function encryptedData(data) {
  12. let publicKey = ''
  13. const res = await getPublicKey()
  14. publicKey = res.data.publicKey
  15. if (res.data.mockServer) {
  16. publicKey = ''
  17. }
  18. if (publicKey == '') {
  19. return data
  20. }
  21. const encrypt = new JSEncrypt()
  22. encrypt.setPublicKey(
  23. `-----BEGIN PUBLIC KEY-----${publicKey}-----END PUBLIC KEY-----`
  24. )
  25. data = encrypt.encrypt(JSON.stringify(data))
  26. return {
  27. param: data,
  28. }
  29. }
  30. /**
  31. * @author chuzhixin 1204505056@qq.com (不想保留author可删除)
  32. * @description RSA解密
  33. * @param data
  34. * @returns {PromiseLike<ArrayBuffer>}
  35. */
  36. export function decryptedData(data) {
  37. const decrypt = new JSEncrypt()
  38. decrypt.setPrivateKey(
  39. `-----BEGIN RSA PRIVATE KEY-----${privateKey}-----END RSA PRIVATE KEY-----`
  40. )
  41. data = decrypt.decrypt(JSON.stringify(data))
  42. return data
  43. }