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 功能设置引擎 |