0

我在 node.js 中有一个 REST API。它可以 CRUD 客户端并保存如下加密密钥:

// Let's sha the value.
var crypto = require('crypto')
  , shasum = crypto.createHash('sha1');

shasum.update(clientId + apiKey);

 // My hashed value:
shasum.digest('hex');

我想要一个 shell 脚本,它可以在不接触 API 的情况下执行相同的操作。

我试过这个:

echo '1000apikey' | openssl sha1 -hex

但它会导致不同的散列值(如果 clientId 是 1000 并且 apiKey 是“apikey”)。为什么?

4

1 回答 1

3

echo '1000apikey'在字符串的末尾添加一个换行符,它也会被散列。试试echo -n '1000apikey' | openssl sha1 -hex

于 2012-07-08T14:36:28.333 回答