如何计算文件名的校验和?

如何计算文件名的校验和?

我尝试过,openssl因为它非常快:

openssl sha1 "$(basename "very_big_image.png")"

但这只是替换了实际文件进行校验和。

答案1

如果您指的是用作文件名的字符串的校验和,则需要将该字符串传递给您首选的校验和工具:

$ printf 'very_big_image.png' | openssl sha1
(stdin)= a2f2cfa4c7042222ecd8d980e7b26e46ee0895e5
$ printf 'very_big_image.png' | md5sum
52846a1d6726e254756f47cfaf9e116a  -
$ printf 'very_big_image.png' | sha512sum 
6133cf578b5c9aa515e3670712641e17cb55c3d9f1403a07718bdcb0dd02f3f5711bf87f54e2cbee3890d842ff0acd7ac5e62cdc0cd4f1e3a1d92486c5c3fbe8  -

如果您想要文件的内容,请传递文件名:

$ md5sum very_big_image.png 
d3b07384d113edec49eaa6238ad5ff00  very_big_image.png
$ sha512sum very_big_image.png 
0cf9180a764aba863a67b6d72f0918bc131c6772642cb2dce5a34f0a702f9470ddc2bf125c12198b1995c233c34b4afd346c54a2334c350a948a51b6e8b4e6b6  very_big_image.png

一些常用的哈希工具是:

md5sum
sha224sum 
sha256sum 
sha384sum 
sha512sum

相关内容