美文网首页
Linux shell计算字符串哈希值

Linux shell计算字符串哈希值

作者: markict | 来源:发表于2018-09-18 18:24 被阅读0次

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

[root@lab ~]# echo '123456' |  md5sum  
f447b20a7fcbf53a5d5be013ea0b15af  -

Mac:

[LiangZhang@MacBook Notes]$md5  -s 123456   
MD5 ("123456") = e10adc3949ba59abbe56e057f20f883e

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

echo -n 可以去掉换行符:
[root@lab ~]# echo -n '123456' | md5sum
e10adc3949ba59abbe56e057f20f883e  -

printf 没有换行符结尾:
[root@lab ~]# printf 123456 | md5sum 
e10adc3949ba59abbe56e057f20f883e  -

tr可以删掉一个字符,如 tr -d '\n'  :
[root@lab ~]# echo '123456' | tr -d '\n' | md5sum
e10adc3949ba59abbe56e057f20f883e  -

相关文章

  • Linux shell计算字符串哈希值

    今天无意发现在Linux上计算md5哈希值和在MacOS不太一样: Linux: Mac: 仔细折腾一下, 原来...

  • shell脚本获取MD5值

    md5sum Linux执行shell计算md5值可以通过md5sum计算出文件或者字符串的md5值。 计算文件m...

  • 计算文件哈希值

    什么是哈希值? 哈希值(hash values)是使用哈希函数(hash function)计算得到的值。哈希函数...

  • echo命令详解

    echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在she...

  • 常用内置命令及其他-01-echo命令

    1. 命令介绍 echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的ech...

  • Mac常用命令

    linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )Linux Shell...

  • Object类

    Object类的方法:public int hashCode():返回该对象的哈希码值。哈希码值是根据哈希算法计算...

  • 【Linux shell学习笔记-02-特殊参数变量】

    在Linux shell中,在命令行执行shell脚本时,通过用空格间隔不同的值作为参数传递到脚本中执行相应的计算...

  • 分布式数据分布算法

    一、哈希分布 1、哈希取模 哈希分布就是将数据计算哈希值之后,按照哈希值分配到不同的节点上。例如有 N 个节点,数...

  • 4. Redis hash表命令

    Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型 在Redis中的哈希值,可存...

网友评论

      本文标题:Linux shell计算字符串哈希值

      本文链接:https://www.haomeiwen.com/subject/ahrmnftx.html