nodejs – shasum不匹配

一定有一些简单的我想念。 我不确定,为什么SHA总和不匹配。 总和是在Linux命令行上使用nodejsshasum生成的。

 user@host:~$ nodejs > var c = require('crypto') undefined > c.createHash('sha1').update('Hello world!','ascii').digest('hex') 'd3486ae9136e7856bc42212385ea797094475802' user@host:~$ shasum - Hello world! 47a013e660d408619d894b20806b1d5086aab03b - 

我尝试了不同的选项,如asciiutf-8nodejsshasum ; 但是,不匹配存在。 当然,对于简单的英文文本, asciiutf-8应该不重要。

虽然,生成和使用散列的应用程序将是nodejs应用程序; 所以,这可能没关系。 但是,我不能解决这个数目会有所不同的事实。

你能指导我吗?

你的shasum得到了一个额外的新行字符( \n )。

 $ echo Hello world! | shasum 47a013e660d408619d894b20806b1d5086aab03b - ------------------------------------------- $ node > var c = require('crypto') undefined > c.createHash('sha1').update('Hello world!').digest('hex') 'd3486ae9136e7856bc42212385ea797094475802' > c.createHash('sha1').update('Hello world!\n').digest('hex') '47a013e660d408619d894b20806b1d5086aab03b'