在PHP中,下面的代码返回“string”
的SHA1的原始输出sha1("string", true);
获得SHA1原始输出的nodeJS等价是什么?
编辑:我做了一些测试和这一行:
crypto.createHash('sha1').update('string').digest('base64');
生成与php的相同的输出
base64_encode(sha1('string', true));
当我尝试连接字符串和sha1的结果时,我的问题就出现了,再次获取sha1:
base64_encode(sha1(sha1("string", true) . "another string", true))
与nodejs不同:
var stringhash = crypto.createHash('sha1').update('string').digest();
crypto.createHash('sha1').update("another string" + stringhash).digest('base64')
答案 0 :(得分:3)
这样的事情:
const crypto = require('crypto');
let digest = crypto.createHash('sha1').update('string').digest();
process.stdout.write( digest );
编辑:相当于您的第二个例子:
let hash1 = crypto.createHash('sha1').update('string').digest();
let hash2 = crypto.createHash('sha1').update(hash1).update('another string');
let digest = hash2.digest('base64');