Node.js Crypto 加密模块

❮ 内置模块


实例

加密文本'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
运行实例 »

定义和用法

crypto 加密模块提供了一种处理加密数据的方法。


语法

在应用程序中包含加密模块的语法:

var crypto = require('crypto');

Crypto 属性和方法

方法 描述
constants 返回一个包含加密常量的对象
fips 检查 FIPS 加密提供程序是否正在使用
createCipher() 使用特定算法和密码创建一个 Cipher 对象
createCipheriv() 使用特定算法、密码和初始化向量创建一个 Cipher 对象
createDecipher() 使用特定算法和密码创建 Decipher 对象
createDecipheriv() 使用特定算法、密码和初始化向量创建一个 Decipher 对象
createDiffieHellman() 创建一个 DiffieHellman 密钥交换对象
createECDH() 创建一个椭圆曲线 Diffie Hellmann 密钥交换对象
createHash() 使用指定的算法创建一个Hash对象
createHmac() 使用指定的算法和密钥创建一个 Hmac 对象
createSign() 使用指定的算法和密钥创建一个 Sign 对象
createVerify() 使用指定的算法创建一个验证对象
getCiphers 返回支持的密码算法数组
getCurves() 返回支持的椭圆曲线数组
getDiffieHellman() 返回一个预定义的 Diffie Hellman 密钥交换对象
getHashes() 返回支持的哈希算法数组
pbkdf2() 创建基于密码的密钥派生函数 2 实现
pbkdf2Sync() 创建一个同步的基于密码的密钥派生函数 2 实现
privateDecrypt() 使用私钥解密数据
timingSafeEqual() 比较两个Buffer,如果相等则返回true,否则返回false
privateEncrypt() 使用私钥加密数据
publicDecrypt() 使用公钥解密数据
publicEncrypt() 使用公钥加密数据
randomBytes() 创建随机数据
setEngine() 为部分或全部 OpenSSL 功能设置引擎

❮ 内置模块