# 加密、解密方法
在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:
