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#只用自己的格式,加密解密过程不需要转换,不需要转换。注意编码格式一致。
本文来自博客园,作者:流云君,转载请注明原文链接:https://www.cnblogs.com/yun10011/p/17395595.html