jsencrypt.ts 1.5 KB

1234567891011121314151617181920212223242526
  1. import JSEncrypt from 'jsencrypt';
  2. // 密钥对生成 http://web.chacuo.net/netrsakeypair
  3. // # 接口加密传输 RSA 公钥与后端解密私钥对应 如更换需前后端一同更换
  4. const VITE_APP_RSA_PUBLIC_KEY = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
  5. // # 接口响应解密 RSA 私钥与后端加密公钥对应 如更换需前后端一同更换
  6. const VITE_APP_RSA_PRIVATE_KEY = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE='
  7. const publicKey = VITE_APP_RSA_PUBLIC_KEY;
  8. // 前端不建议存放私钥 不建议解密数据 因为都是透明的意义不大
  9. const privateKey = VITE_APP_RSA_PRIVATE_KEY;
  10. // 加密
  11. export const encrypt = (txt: string) => {
  12. const encryptor = new JSEncrypt();
  13. encryptor.setPublicKey(publicKey); // 设置公钥
  14. return encryptor.encrypt(txt); // 对数据进行加密
  15. };
  16. // 解密
  17. export const decrypt = (txt: string) => {
  18. const encryptor = new JSEncrypt();
  19. encryptor.setPrivateKey(privateKey); // 设置私钥
  20. return encryptor.decrypt(txt); // 对数据进行解密
  21. };