const NodeRSA = require('node-rsa'); const a_public_key_data = '-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqmgh/sEdPRB6HI3XHwb+3dYlxr9V8OwSScxQiroHkq85/5PZlHpz1HyvhuxL4BOKreNxGlwZIE9I9Ewn8HKLjFSxf9fNzJLcOP4y2WA4so9ib52r9ZKy9FOo53k+3s/bIlS+1vDJntjaXTn1V8JmrcjTraqBVsw5rMklHaGQ/+zVdtglR4a5KOP4NUaIXEjAjETd5efpTSmhizfqzGySklOXJrVIGu3vqTomF/YAbfUKy+cFAEERAhL5VmVIY9R16ZbAQKIGJG+9Z1rl5UIxVLXbhkEUGIKDO9QpiFpZuL8bpI3O5+9gw/ENHwvkLm+TcNEJyNvmsHDdkpWx+yX7owIDAQAB -----END PUBLIC KEY-----'; const a_private_key_data = '-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCqaCH+wR09EHocjdcfBv7d1iXGv1Xw7BJJzFCKugeSrzn/k9mUenPUfK+G7EvgE4qt43EaXBkgT0j0TCfwcouMVLF/183Mktw4/jLZYDiyj2Jvnav1krL0U6jneT7ez9siVL7W8Mme2NpdOfVXwmatyNOtqoFWzDmsySUdoZD/7NV22CVHhrko4/g1RohcSMCMRN3l5+lNKaGLN+rMbJKSU5cmtUga7e+pOiYX9gBt9QrL5wUAQRECEvlWZUhj1HXplsBAogYkb71nWuXlQjFUtduGQRQYgoM71CmIWlm4vxukjc7n72DD8Q0fC+Qub5Nw0QnI2+awcN2SlbH7JfujAgMBAAECggEAFVRBZQyw5zLHxgku8vBCOGwUgGL0k9pIk7oiHqsYRZDvNoFAC6ikFOWiZsXu3VY01n0QbBc5AeVKoWFi4mLD+sWjDfhqBwAe1ndiz/iOQDNYQ9Y9bth008Yg7xArAWKM8CghVu/+nIZSFrcpcVmg1oG7lRIxbDbVxT3MCoBtkMrUdl8cyTFCFwK40Rjk2eQN3WOSfTvP+OO9FcA3uEQH95nkvRHMUwGfJO/lspqAPx72KSRVKqoOLnunnfGCtyk9VbKEQgCig4dXCXg5GDqXZ48p3X+EgyU2KYvMShgN7X8bKC9EfOOFTg0Vdm9fF6hd/H0CbDUW65HQ+VnIUNDQ4QKBgQDpO6QPPn05zhS8XZfptZ1JhJz5lOPS3Nw8CFFawuTrY/URIyShiSai3NvlKZCGNSPLnPE1qEgG8IRlEoHnWKgfdUl2/UPdawZIzIG090Oiq2YJoQGPxpiviLVyB0HoKtqCuUNy/LZQiBtAK3wEpwvqJJKQ4Li9WGbg0xUlwikRMwKBgQC7CoA6mgdN2a0g8l/CLC5UACb5m0AoJJm7eW9lPGAq5AkwoTYqhfvJjQOy+y99+oz8ZRdBYMw6tIfdxdWwen5uRJ7dlDs4mqUzirymOg7r+Ag3HSk75YFNK024qY/IW6WZWNFQJgTIp92OLP11o45NfPXCnRDenHSTwkGMjBdL0QKBgEcxmmnA1G7htjithSKk+ocngNc6mLSUEHIOw+6lkUU9NOBvTs40VGPgcQspveEJtYyAsqyDWsErh+5mUNrymBdKMQuuUZn0Am4UZv97ftzX3wTPbe+aWp8yZtiQ2JBrDFpc/PbLp0c71L2oyGmPKDbnxQmOXzYFFxpHtKva8bg7AoGASjnomVj2/RYddq25Ar21xPAqh3PtCgE8YQHYCzzijSLh4sKXVFjHizzC8wxr1HrR6HfVusRHSCTMpl4UZ2y1L91bjmN8/QGh/cpZAz6XHV3ZJMYVzwdNQOqmdVoVDVYRacGtjzkHPPohGoMQMtctaeLlRM5AG5fLS7gTe0s9E4ECgYAJtoLMr5QK6CSbh4HE3ES0eHORW1CH3pWcKnIwSzKfTGneyDN35mxzJYMWhnmZylT4g3WsLWLmxaldnXp10s6DX0wqSAbr252xYcJWO8L9coSTjmvs/aYr03RYOsavp+PAqwQslZAfQlGtSVGIvQbtDSxAk9DAu3LrFY9HC37QeA== -----END PRIVATE KEY-----'; // const b_public_key_data = '-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----'; // const b_private_key_data = '-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----'; // 生成 A 的公私钥对象 // const a_public_key = new NodeRSA(a_public_key_data); // const a_private_key = new NodeRSA(a_private_key_data); // 生成 B 的公私钥对象 const a_public_key = new NodeRSA(a_public_key_data); const a_private_key = new NodeRSA(a_private_key_data); const text = 'Hello RSA!'; // 加签并加密 const sign = a_private_key.sign(text, 'base64', 'utf8'); console.log('A 私钥加签:', sign); const encrypted = a_public_key.encrypt(sign, 'base64'); console.log('B 公钥加密:', encrypted); // 解密并验签 const decrypted = a_private_key.decrypt(encrypted, 'utf8'); console.log('B 私钥解密:', decrypted); const verify = a_public_key.verify(text, decrypted, 'utf8', 'base64'); console.log('A 公钥验签:', verify); let pubEnc = a_public_key.encrypt('BBBB', 'base64'); console.log('\n\n公钥加密: ' + pubEnc); let priDec = a_private_key.decrypt(pubEnc, 'utf-8'); console.log('私钥解密: ' + priDec); // let priEnc = a_private_key.encrypt('111', 'base64'); let priEnc = a_private_key.encryptPrivate('AAAA', 'base64'); console.log('私钥加密: ' + priEnc); // let pubDec = a_public_key.decrypt(priEnc, 'utf-8'); let pubDec = a_public_key.decryptPublic(priEnc, 'utf-8'); console.log('公钥解密: ' + pubDec);
如觉得有帮助,不如请喝杯咖啡
相关推荐
rsa Barrett.js BigInt.js RSA.js前端源码,实现前端加密后端解密RSA, a suite of routines for performing RSA public-key computations in // JavaScript.
RSA加密脚本 JavaScript 参考:Blackberry10 使用js+HTML5开发 RSA加密解密时遇到的问题:BB10端使用js加密与解密, 服务器端使用加密与解密 1,加密非常的简单代码机会上没怎么修改,另外js加密可能出现的问题在BB10 ...
Node.js RSA库基于Tom Wu的jsbn库 纯JavaScript 不需要OpenSSL 产生金钥 支持长消息进行加密/解密 签名和验证 例 const NodeRSA = require ( 'node-rsa' ) ; const key = new NodeRSA ( { b : 512 } ) ; const ...
javascript RSA 加密用到的文件(RSA.js BigInt.js, Barrett.js) 附带了rsa1.js,这个版本集成了以上3个文件,加密内容固定,自行斟酌使用
RSA所需js文件 Barrett.js、BigInt.js、RSA.js。需要的请下载
混合加密JS是用于JavaScript的混合(RSA + AES)加密和解密工具包。 Hybrid Crypto JS结合了RSA和AES加密算法,可以有效地加密和解密大型邮件。 该跨平台库基于 。 Hybrid Crypto JS可以在浏览器,Node.js或React ...
前端开源库-node-rsanode rsa,node.js rsa库
Web端RSA加密机密库包含RSA.js Barrett.js BigInt.js JavaScript文件,直接解压即可使用。ohdave.com官网资源,无偏移加密
rsa2048.rar RSA2048的C语言实现代码rsa2048.rar RSA2048的C语言实现代码
security.js基于RSA算法用于前端加密与密钥传输,需要跟后台配合使用 var key = new RSAUtils.getKeyPair("${publicKeyExponent}", "", "${publicKeyModulus}"); var reversedPwd = password.split("").reverse...
RSA前台加密用到的js文件(RSA.js BigInt.js, Barrett.js)
通过rsa非对称加密技术用js将登录时的密码进行加密,提交到后台再进行解密,反正密码被非法抓取。
用着不错,init的值尽量不要太大,如果有人研究出更好的方法,希望留言分享一下,谢谢。
RSA.js、BigInt.js、Barrett.js与 bcprov-jdk15on-160.jar
RSA加密需要的前端js Barrett.js
RSA前台加密后台解密案例,包括相关jar包和js文件.
Postman利用forgeJS实现RSA加解密https://blog.csdn.net/u011864826/article/details/108011314
前端 RSA 加密算法 JS 库。公钥加密算法,非对称加密算法。
前端RSA加密解密的使用,含jsencrypt.js文件(uni-app也可用)
用于小程序rsa加密、解密,加签,验签。支持分段加密、解密。