我在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”)。为什么?
答案 0 :(得分:4)
echo '1000apikey'
在字符串的末尾添加换行符,并且也会进行哈希处理。试试echo -n '1000apikey' | openssl sha1 -hex
。