NodeJS SHA1 获取原始输出(PHP SHA1 原始输出等效值)
NodeJS SHA1 get raw output (PHP SHA1 raw output equivalent)
在 PHP 中,下面的代码 returns "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')
像这样:
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');
在 PHP 中,下面的代码 returns "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')
像这样:
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');