RSA加密--前端

流程

前端js使用公钥进行加密,后端使用私钥进行解密(C#或java语言)。
注意:c#使用xml格式的公钥/私钥
Java,js都是pem格式

格式

xml:

<RSAKeyValue><Modulus>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>

pem:

-----BEGIN PUBLIC KEY-----
sssssssssssssssssssssssssssssssssssssssss
-----END PUBLIC KEY-----

//只要s部分的内容

加载

npm i jsencrypt -S

引入

import JSEncrypt from "jsencrypt";

加密

 const publicKey=公钥**(pem格式PKCS#1)**
 const encryptor = new JSEncrypt();
 encryptor.setPublicKey(publicKey); // 设置公钥
 const enpwd = encryptor.encrypt(password);

解密

  const privateKey=私钥**(pem格式PKCS#8)**
  const decrypt = new JSEncrypt()
  decrypt.setPrivateKey(privateKey)
  const decryptMsg = decrypt.decrypt(enpwd)

后端

注意,Java或者c#只用自己的格式,加密解密过程不需要转换,不需要转换。注意编码格式一致。

posted @ 2023-05-12 17:02  流云君  阅读(92)  评论(0编辑  收藏  举报