Node.js 加密 模块
示例
加密文本 'abc'
var crypto = require('crypto');
var mykey = crypto.createCipher('aes-128-cbc', 'mypassword');
var mystr = mykey.update('abc', 'utf8', 'hex')
mystr += mykey.final('hex');
console.log(mystr); //34feb914c099df25794bf9ccb85bea72
运行示例 »
示例
解密回 'abc'
var crypto = require('crypto');
var mykey = crypto.createDecipher('aes-128-cbc', 'mypassword');
var mystr = mykey.update('34feb914c099df25794bf9ccb85bea72', 'hex', 'utf8')
mystr += mykey.final('utf8');
console.log(mystr); //abc
运行示例 »
定义和用法
加密模块提供了一种处理加密数据的方法。
语法
在应用程序中包含加密模块的语法
var crypto = require('crypto');
加密属性和方法
方法 | 描述 |
---|---|
constants | 返回包含加密常量的对象 |
fips | 检查是否正在使用 FIPS 加密提供程序 |
createCipher() | 使用特定算法和密码创建 Cipher 对象 |
createCipheriv() | 使用特定算法、密码和初始化向量创建 Cipher 对象 |
createDecipher() | 使用特定算法和密码创建 Decipher 对象 |
createDecipheriv() | 使用特定算法、密码和初始化向量创建 Decipher 对象 |
createDiffieHellman() | 创建 DiffieHellman 密钥交换对象 |
createECDH() | 创建椭圆曲线 Diffie Hellmann 密钥交换对象 |
createHash() | 使用指定的算法创建 Hash 对象 |
createHmac() | 使用指定的算法和密钥创建 Hmac 对象 |
createSign() | 使用指定的算法和密钥创建 Sign 对象 |
createVerify() | 使用指定的算法创建 Verify 对象 |
getCiphers | 返回支持的密码算法数组 |
getCurves() | 返回支持的椭圆曲线数组 |
getDiffieHellman() | 返回预定义的 Diffie Hellman 密钥交换对象 |
getHashes() | 返回支持的哈希算法数组 |
pbkdf2() | 创建基于密码的密钥派生函数 2 实现 |
pbkdf2Sync() | 创建同步基于密码的密钥派生函数 2 实现 |
privateDecrypt() | 使用私钥解密数据 |
timingSafeEqual() | 比较两个缓冲区,如果它们相等则返回 true,否则返回 false |
privateEncrypt() | 使用私钥加密数据 |
publicDecrypt() | 使用公钥解密数据 |
publicEncrypt() | 使用公钥加密数据 |
randomBytes() | 创建随机数据 |
setEngine() | 为部分或全部 OpenSSL 函数设置引擎 |