Linux shell下计算字符串的哈希值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux shell下计算字符串的哈希值相关的知识,希望对你有一定的参考价值。

今天无意发现在Linux上计算md5哈希值和在MacOS不太一样:

Linux

[[email protected] ~]# echo ‘123456‘ |  md5sum  
f447b20a7fcbf53a5d5be013ea0b15af  -

Mac

[[email protected] Notes]$md5  -s 123456   
MD5 ("123456") = e10adc3949ba59abbe56e057f20f883e

仔细折腾一下, 原来是echo输出的字符串会默认添加一个换行符‘ ‘,
所以在Linux上计算纯字符串的hash需要以下方法:

echo -n 可以去掉换行符
[[email protected] ~]# echo -n ‘123456‘ | md5sum
e10adc3949ba59abbe56e057f20f883e  -

printf 没有换行符结尾
[[email protected] ~]# printf 123456 | md5sum 
e10adc3949ba59abbe56e057f20f883e  -

tr可以删掉一个字符,如 tr -d ‘
‘ 
[[email protected] ~]# echo ‘123456‘ | tr -d ‘
‘ | md5sum
e10adc3949ba59abbe56e057f20f883e  -

以上是关于Linux shell下计算字符串的哈希值的主要内容,如果未能解决你的问题,请参考以下文章

字符串模糊匹配

哈希表

C#上位机开发(十五)—— 计算字符串哈希值和文件哈希值

C#上位机开发(十五)—— 计算字符串哈希值和文件哈希值

shell脚本获取MD5值

逆向及Bof基础实践