加密、解密方法
在node.js中,负责安全的模块是crypto。非对称加密中,公钥加密,私钥解密,加解密对应的api分别如下。
加密函数:
crypto.publicencrypt(key, buffer)
解密函数:
crypto.privatedecrypt(privatekey, buffer)
入门例子
假设有如下utils.js
// utils.js const crypto = require('crypto'); // 加密方法 exports.encrypt = (data, key) => { // 注意,第二个参数是buffer类型 return crypto.publicencrypt(key, buffer.from(data)); }; // 解密方法 exports.decrypt = (encrypted, key) => { // 注意,encrypted是buffer类型 return crypto.privatedecrypt(key, encrypted); };
测试代码app.js:
const utils = require('./utils'); const keys = require('./keys'); const plaintext = '你好,我是程序猿小卡'; const crypted = utils.encrypt(plaintext, keys.pubkey); // 加密 const decrypted = utils.decrypt(crypted, keys.privkey); // 解密 console.log(decrypted.tostring()); // 你好,我是程序猿小卡
附上公钥、私钥 keys.js:
exports.privkey = `-----begin rsa private key----- miicxqibaakbgqdfwnl8fchyki/tgo1ilb+ilgr8zecknno8xrdwttbbf5emg0qv 8gs0agkh649rb75i+tmu2jsnuvj61cncl/7ct2kaz6czzo1vygtzhlfnxd4v7ra+ aiwlzaxt/h3ee+/cfsl4vaji5wxh4mq4vtu7uejeogaogxacaiqifyrk3widaqab aogbakdrunylqfy2fnuvaqaadnvavoxqa+psw4g/d3inzjjhbrtlwdl2tzuximez qeefueqvhorota/xvg/r3tshid/qc71efmpvbjbqjjivjubjtzj/o+l2wxqzsvqe wzyatm6te3kzeg/culnmil+xu7xsumslbgpaurymha1jnkfpakea48auogsv8vfn r2quymilz20lkczffk2aq2+9isz1zjcvo+iuft71y3+etwomzczcuj5sn0w7lcsx nqyzcfdspqjban3o2vdqf3gua0q5vhmk9avsoxlmcfra1rikufotrtc609rfx4dc fxdxh09uvu/8hmdau8t6ofexcbriiyjqwdmcqqczljfddhfuifo2js8k62mnj6sb h0xlirnd2+/ruutubov4zuc+rm7gtuteoddazhym4c4yq0hfjnp25zm5xalpakbg atlpo04yi3r+dkzxquh1pyyku6m5x9tjm7cnkcikd4wmkjk5p+s2xjyqc1aezeyq vc187djprii4oc3pn1+takbuw51/5vbj+zmd73mvctt28omskox6ku29f0lveh8i ohiloo285vg5ztmxiy58taipvqxa7eu8hpqhthwa9qp6 -----end rsa private key----- `; exports.pubkey = `-----begin public key----- migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqdfwnl8fchyki/tgo1ilb+ilgr8 zecknno8xrdwttbbf5emg0qv8gs0agkh649rb75i+tmu2jsnuvj61cncl/7ct2ka z6czzo1vygtzhlfnxd4v7ra+aiwlzaxt/h3ee+/cfsl4vaji5wxh4mq4vtu7ueje ogaogxacaiqifyrk3widaqab -----end public key----- `;
相关推荐:
json 字符串非对称加密有关问题
php 使用非对称加密算法(rsa)
使用openssl实现rsa非对称加密算法示例
以上就是node.js非对称加密方法的实现的详细内容。
