Openssl

如何計算文件名的校驗和?

  • April 17, 2020

我試過了,openssl因為它非常快:

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

但這只是用實際文件代替校驗和。

如果您指的是用作文件名的字元串的校驗和,則需要將該字元串傳遞給您首選的校驗和工具:

$ 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

引用自:https://unix.stackexchange.com/questions/580700