我创建了一个文件,并在其中输入了一些随机字符串.
touch tesseract && echo 'TestTestTestTestTest' > tesseract
现在,如果我使用openssl来计算base64哈希[sha256],请运行以下命令:
cat tesseract | openssl dgst -sha256 | openssl base64 -A
回到我身边
KHN0ZGluKT0gMzJjYjA1MTgzNDNhZmY2N2FlMmY5YzUwNDcwNGRiNGE5Njc5MzIyZWVlNTBmMjBiNTMzNjZlYTBiMDY2MWNlZgo =
现在,我逐步处理此哈希,因为
cat tesseract | openssl dgst -sha256 > partialHash
这给了我
(标准输入)= 32cb0518343aff67ae2f9c504704db4a9679322eee50f20b53366ea0b0661cef
让此哈希为X.
然后我这样做
echo '32cb0518343aff67ae2f9c504704db4a9679322eee50f20b53366ea0b0661cef' > partialHash
cat partialHash | openssl base64 -A
我得到不同的结果.这是为什么?
我问这个问题的原因是因为我使用了一个二进制的hashdeep,它以32cb0518343aff67ae2f9c504704db4a9679322eee50f20b53366ea0b0661cef的形式给我散列,并且我希望将它们转换为base64编码格式,因为hashdeep无法产生base64输出.因此,我将中间哈希通过管道传递给openssl base64 -A,但获得了不同的结果.
我想念什么?如何将未编码的哈希X [32cb0518343aff67ae2f9c504704db4a9679322eee50f20b53366ea0b0661cef]转换为正确的base64编码格式?
为了简单起见,我们可以假设X存在于使用echo’32cb0518343aff67ae2f9c504704db4a9679322eee50f20b53366ea0b0661cef’创建的文件中.文件