Node.js Crypto 模块

实例

加密文本 ‘abc’

  1. var crypto = require('crypto');
  2. var mykey = crypto.createCipher('aes-128-cbc', 'mypassword');
  3. var mystr = mykey.update('abc', 'utf8', 'hex')
  4. mystr += mykey.final('hex');
  5. console.log(mystr); //34feb914c099df25794bf9ccb85bea72
实例

解密文本 ‘abc’

  1. var crypto = require('crypto');
  2. var mykey = crypto.createDecipher('aes-128-cbc', 'mypassword');
  3. var mystr = mykey.update('34feb914c099df25794bf9ccb85bea72', 'hex', 'utf8')
  4. mystr += mykey.final('utf8');
  5. console.log(mystr); //abc

定义与用法

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


语法

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

  1. var crypto = require('crypto');

Crypto 属性与方法

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

分类导航