gpt4 book ai didi

windows - 如何计算在windows批处理中编码的sha1 base64?

转载 作者:可可西里 更新时间:2023-11-01 11:06:45 26 4
gpt4 key购买 nike

我正在尝试在 Windows 批处理文件中获取 base64 编码的 sha1 哈希。我尝试的第一件事是使用 perl:

perl -M"Digest::SHA1 qw(sha1_base64)" -e "open(F,shift) or die; binmode F; print sha1_base64(<F>), qq(=\n)" "test.mxf"

这很好用,但只适用于小文件。对于大文件,它会显示“内存不足”。

然后我下载了一个适用于 windows 的 openssl 版本并尝试了这个:

"C:\openssl.exe" dgst -sha1 -binary -out "hash_sha1.txt" "C:\test.mxf"
set /p hash_sha1=<"hash_sha1.txt"
del "hash_sha1.txt"
echo !hash_sha1!

echo -n '!hash_sha1!' | "C:\openssl.exe" enc -base64

但是 openssl 方法的输出与 Perl 输出不同,我知道 Perl 方法产生正确的输出。我需要更改什么?

最佳答案

  • echo 没有 -n 参数,所以 -n 和单引号是输出的一部分。
  • 不需要中间文件和变量,使用管道。

完整代码:

openssl dgst -sha1 -binary "C:\test.mxf" | openssl enc -base64

关于windows - 如何计算在windows批处理中编码的sha1 base64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692930/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com