JS中RSA加密有两套逻辑
-
1、网易的那种. -> 加密的结果每一次都是一样的;这种没有办法使用python来完成
- setMaxDigits()
- RSAKeyPair()
- encryptedString()
-
2、某网校的rsa加密 -> 加密的结果每一次都是不一样的;和python的Crypto是相通的. 而用js完成超级简单.
- new JSEncrypt
- setPublicKey()
- encrypt
基于第一点,我们遇到RSA加密,通常都使用JS处理
- 1、第一种RSA加密处理
- 本地新建myrsa.js文件,直接拷贝下面4个文件的所有内容到此文件上;https://ohdave.com/rsa/
- 在文件最后,导出
- 本地新建myrsa.js文件,直接拷贝下面4个文件的所有内容到此文件上;https://ohdave.com/rsa/
module.exports = {
setMaxDigits,
RSAKeyPair,
encryptedString
};
- 使用,直接导入
var {
setMaxDigits,
RSAKeyPair,
encryptedString
} = require("./myrsa");
function c(a, b, c) {
var d, e;
return setMaxDigits(131),
d = new RSAKeyPair(b,"",c),
e = encryptedString(d, a)
}
- 第二种RSA处理
//npm install node-jsencrypt
var JSEncrypt = require("node-jsencrypt");
function func_second(e){
var i = new JSEncrypt;
return i.setPublicKey("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA5Zq6ZdH/RMSvC8WKhp5gj6Ue4Lqjo0Q2PnyGbSkTlYku0HtVzbh3S9F9oHbxeO55E8tEEQ5wj/+52VMLavcuwkDypG66N6c1z0Fo2HgxV3e0tqt1wyNtmbwg7ruIYmFM+dErIpTiLRDvOy+0vgPcBVDfSUHwUSgUtIkyC47UNQIDAQAB"),
i.encrypt(e)
}
标签:11,web,加密,RSAKeyPair,encryptedString,RSA,JS,var
From: https://www.cnblogs.com/xwltest/p/17644315.html