早上来工位,大家再聊md5,无意中发现网上有个人提出个问题:研究了一下,挺有意思

有个串,通过各种办法得到的值不完全一样,下面请看细节:

假设这个字符串是 “ssss"
我用的第一个办法应该是准确的,echo -n "ssss" | md5sum 得到的结果是:
8f60c8102d29fcd525162d02eed4566b  -

第二个办法是用vim把字符串写进一个文本文件aaa. 然后用命令 md5sum aaa 得到结果是

[root@xxx]# md5sum aaa
eef088adb5dad035866534ffe27fde4c aaa

这时的结果就不对了

第三个办法还是把字符串写进一个文件,但是用命令 echo -n "ssss" > bbb。 然后用md5sum bbb 得到的结果和第一个办法一样。
8f60c8102d29fcd525162d02eed4566b  bbb
原因如下:

其实第二种,本件字符串末尾有一个换行符

用xxd aaa 可以看到

0000000: 7373 7373 0a                             ssss.

16进制0a表示换行符,故多了一个换行符的字符串md5sum不一样

MD5 字符串问题的更多相关文章

  1. C#获取文件MD5字符串

    备注 哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串.加密哈希函数有这样一个属性:在计算不大可能找到散列为相同的值的两个不同的输入:也就是说,两组数据的哈希值仅在对应的数据也匹配时才 ...

  2. DSAPI 字符串和文件转Md5字符串

    方法列表: 字符串转MD5字符串(ByVal 要转换的字符串 As String, Optional 转换格式 As MD5格式 = MD5格式.小写32位) As String 文件转MD5字符串( ...

  3. c#中获得MD5字符串方法

    在用户登录的过程中,我们会遇到要查询对比用户名密码的是否存在或者是否正确,但是数据库中存放的是通过MD5加密的字符串,所有我们可以先把用户输入的用户名或者是密码先转为DM5字符串再跟数据库查出的MD5 ...

  4. MD5字符串加密

    MD5字符串加密 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 132 ...

  5. java 文件md5+字符串md5 实现

    import org.apache.commons.codec.binary.Hex; import org.apache.commons.codec.digest.DigestUtils; impo ...

  6. iOS使用MD5 - 字符串加密至MD5&获取文件MD5

    iOS 字符串加密至MD5 + (NSString *) md5:(NSString *)str { unsigned ]; CC_MD5( cStr, strlen(cStr), result ); ...

  7. c#生成MD5字符串

    public static string EncryptWithMD5(string source) { byte[] sor = Encoding.UTF8.GetBytes(source); MD ...

  8. C#实现MD5字符串加密

    public string Md5Encrypt(string str, string str2) { byte[] result = Encoding.Default.GetBytes((str+s ...

  9. MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

    MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...

随机推荐

  1. AC日记——[USACO15DEC]最大流Max Flow 洛谷 P3128

    题目描述 Farmer John has installed a new system of  pipes to transport milk between the  stalls in his b ...

  2. 小程序-TabBar点击切换

    这种页面的布局会经常用到,所以在此做个笔记,之后遇到可以节省很多时间 WXML: <view class='listTitle_tab'>      <view class='scr ...

  3. HDU 4912 Paths on the tree(LCA+贪心)

    题目链接 Paths on the tree 来源  2014 多校联合训练第5场 Problem B 题意就是给出m条树上的路径,让你求出可以同时选择的互不相交的路径最大数目. 我们先求出每一条路径 ...

  4. Skiing(最短路)

    poj——3037 Skiing Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4921   Accepted: 1315 ...

  5. jar word 模板操作比较好用的工具

    个人觉得比较好用的java word 模板 http://deepoove.com/poi-tl/

  6. iOS -- SKTexture类

    SKTexture类 继承自 NSObject 符合 NSCodingNSCopyingNSObject(NSObject) 框架  /System/Library/Frameworks/Sprite ...

  7. CA认证原理以及实现(下)

    在上述的文章后了解到原理之后,我们这篇文章来进行CA的搭建. OPEN SSL 环境搭建在基础原理中我们提到了两种认证服务,单项认证服务和双向认证服务,我们就以双向认证服务举例说明.OpenSSL是一 ...

  8. MySQL:unknown variable &#39;master-host=masterIP&#39; [ERROR] Aborting

    <span style="font-size:18px;">120401 15:45:44 [ERROR] C:\Program Files\MySQL\MySQL S ...

  9. idea常用的快捷命令

    main方法: psvm System.out.println(): sout

  10. POJ 3211 Washing Clothes(01背包)

    POJ 3211 Washing Clothes(01背包) http://poj.org/problem?id=3211 题意: 有m (1~10)种不同颜色的衣服总共n (1~100)件.Dear ...