如何实现" Base64编码的字符串SHA-1哈希"在Nodejs。
感谢。
答案 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);
});