Node.js Nodejs和PHP中的文本处理

Node.js Nodejs和PHP中的文本处理,node.js,cryptography,Node.js,Cryptography,我在php和javascript(nodejs)中有两个函数,它们必须给出相同的结果,但它们没有 为什么他们给出不同的结果 PHP: Javascript: new Buffer(require("crypto").createHash("sha1").update(string,"utf8").digest("hex")).toString("base64"); 函数的Javascript版本错误。 我用了这个: require("crypto").createHash("sha1").up

我在php和javascript(nodejs)中有两个函数,它们必须给出相同的结果,但它们没有

为什么他们给出不同的结果

PHP:

Javascript:

new Buffer(require("crypto").createHash("sha1").update(string,"utf8").digest("hex")).toString("base64");

函数的Javascript版本错误。 我用了这个:

require("crypto").createHash("sha1").update(string,"utf8").digest("base64")

我不知道node.js函数,所以我把它作为注释:php代码使用sha1()的原始二进制输出作为base64_编码的输入,而在我看来,在node.js代码中,sha1’ed字符串首先转换为十六进制。(有关sha1()中第二个参数的使用,请参见)谢谢。真的,这就是问题所在。函数的Javascript版本错误。我使用了:require(“crypto”).createHash(“sha1”).update(string,“utf8”).digest(“base64”),欢迎使用Stackoverflow。你可以(过一会儿)接受你自己的答案。
require("crypto").createHash("sha1").update(string,"utf8").digest("base64")