openssl dgst -sha1 -hmac "key" 产生无关的“(stdin)= ”前缀和尾随换行符

openssl dgst -sha1 -hmac "key" 产生无关的“(stdin)= ”前缀和尾随换行符

如果你运行:

while read CTFid; do echo -n "$CTFid" | openssl dgst -sha1 -hmac "key"; done < CTFid.csv > OPKlist.csv

我在前缀中得到 (stdin) 像这样

(stdin)=2d442d454a00c469baa7ec5deba94f172263c247

我正在尝试使用

"| sed 's" 

但对安置去向感到困惑

有什么建议或帮助吗?

答案1

我在 OpenSSL for IBM AIX 上发生过这种情况,它也输出相同的前导(stdin)=.由于您使用的是 shell 单行,您可以通过简单地使用 sed 删除前缀来隔离结果哈希:

echo -n "$CTFid" | openssl dgst -sha1 -hmac "key" | sed "s/(stdin)=//";

相关内容