当前位置: 首页 > 后端技术 > Node.js

使用RSA实现前端公钥加密,后端私钥解密

时间:2023-04-03 19:14:30 Node.js

项目中,用户登录时需要对用户名和密码进行加密,这里选择RSA非对称加密方式。公钥私钥:OpenSSL公钥私钥(Nodecrypto模块限制)前端:jsencrypt库加密后端:Nodecrypto模块使用openssl生成公私钥。Linux生成公钥和私钥。命令:genrsa-outrsa_private_key.pem1024//生成1024位私钥pkcs8-topk8-informPEM-inrsa_private_key.pem-outformPEM–nocrypt//把RSA私钥转换成PKCS8格式rsa-inrsa_private_key.pem-pubout-outrsa_public_key.pem//生成对应的公钥这里已经生成了公钥和私钥,在使用的时候可以分为公钥和私钥两种方式使用fs.readFileSync()将公钥和私钥直接读取复制到配置文件中(私钥必须是正确的换行格式,否则crypto不能正确使用私钥,可以在每行末尾加上\n\保证格式正确)前端使用jsencrypt库加密。该库可以以模块加载的方式使用。下面的代码也使用了这个方法。当然也可以通过页面中的