如何在Node.js中实现“字符串的Base64编码SHA-1哈希”

时间:2014-07-17 20:45:05

标签: node.js base64 sha1

如何实现" Base64编码的字符串SHA-1哈希"在Nodejs。

感谢。

2 个答案:

答案 0 :(得分:0)

Crypto可以直接返回base64编码的结果:

var crypto = require('crypto');
var s = 'the quick brown fox';
var sha = crypto.createHash('sha1');
sha.update(s);
var ret = sha.digest('base64');
console.log(ret);

答案 1 :(得分:-1)

您是否尝试过使用加密? http://nodejs.org/api/crypto.html

var ciphers = crypto.getCiphers();
console.log(ciphers); // ['AES-128-CBC', 'AES-128-CBC-HMAC-SHA1', ...]

var hashes = crypto.getHashes();
console.log(hashes); // ['sha', 'sha1', 'sha1WithRSAEncryption', ...]

来自网站:

  

crypto.createHash(algorithm)#创建并返回一个哈希对象,a   加密哈希与给定的算法,可用于   生成哈希摘要。

     

算法依赖于支持的可用算法   平台上的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 + '  ' + filename);
});