Node.js v0.10.31API手冊-加密
Node.js v0.10.31API手冊-文件夹
加密(Crypto)
使用 require('crypto') 来调用该模块。
crypto模块提供在HTTPS或HTTP连接中封装安全凭证的方法。
它提供OpenSSL中的一系列哈希方法,包含hmac、cipher、decipher、签名和验证等方法的封装。
crypto.getCiphers()
返回一个数组,包括支持的加密算法的名字。
演示样例:
var ciphers = crypto.getCiphers();
console.log(ciphers); // ['AES-128-CBC', 'AES-128-CBC-HMAC-SHA1', ...]crypto.getHashes()
返回一个包括所支持的哈希算法的数组。
演示样例:
var hashes = crypto.getHashes();
console.log(hashes); // ['sha', 'sha1', 'sha1WithRSAEncryption', ...]crypto.createCredentials(details)
创建一个加密凭证对象。接受一个可选的參数对象:
- 
pfx: 一个字符串或者buffer对象。代表经PFX或者PKCS12编码产生的私钥、证书以及CA证书
- 
key: 一个字符串,代表经PEM编码产生的私钥
- 
passphrase: 私钥或者pfx的password
- 
cert: 一个字符串。代表经PEM编码产生的证书
- 
ca: 一个字符串或者字符串数组,表示可信任的经PEM编码产生的CA证书列表
- 
crl: 一个字符串或者字符串数组。表示经PEM编码产生的CRL(证书吊销列表 Certificate Revocation List)
- 
ciphers: 一个字符串,表示须要使用或者排除的加密算法 能够在http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT 查看很多其它关于加密算法格式的资料。
ca。node.js会使用http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt提供的公共可信任的CA列表。
crypto.createHash(algorithm)
创建并返回一个哈希对象,一个使用所给算法的用于生成摘要的加密哈希。
algorithm 取决与平台上所安装的
 OpenSSL 版本号所支持的算法。比方'sha1'、'md5'、'sha256'、'sha512' 等等。在近期的发行版本号中。openssl
 list-message-digest-algorithms 会显示可用的摘要算法。
演示样例:这段程序会计算出一个文件的
 sha1 摘要值。
var filename = process.argv[2];
var crypto = require('crypto');
var fs = require('fs');
var shasum = crypto.createHash('sha1');
var s = fs.ReadStream(filename);
s.on('data', function(d) {
  shasum.update(d);
});
s.on('end', function() {
  var d = shasum.digest('hex');
  console.log(d + 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号