当前位置:网站首页 > 技术博客 > 正文

md5 字符串



md5sum

在Linux下,我们经常使用md5sum命令来查看两个文件是否相同。

md5sum命令会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。

存在两个文件不同,但md5sum相同的情况。不过这个情况出现的概率还是很低的,所以md5值仍然是常用的方法。

md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。

如果对结果的准确性要求极高,可以使用sha系列算法,比如SHA1、SHA256、SHA384、SHA512等。

如前所述,直接对文件名运行md5sum命令,它计算的是文件内容的md5值,那么如何对指定字符串求md5值呢?

shell

在Linux上运行md5sum命令可得到文件内容的md5值:

 
    

如上,两个文件名不同,但文件内容相同,所以md5sum得到的值相同。

如果想对指定字符串计算md5,可以借助管道:

 
    

注意,echo命令默认是带换行符的,使用-n参数只计算看到的字符串的md5:

 
    

这样就可以计算任意给定字符串的md5了,脚本如下:

 
    
python

使用hashlib,直接上代码了:

 
     
c++

使用popen得到命令行执行的输出结果,代码如下:

 
      
小节

只要在一种平台下把它原理搞清楚,在其他平台复现只是熟悉程度的问题了。

这只是一个小demo,可以在此基础上进行扩展,实现更具意义的功能了。

版权声明


相关文章:

  • mysql8.0创建触发器2025-08-11 14:30:01
  • java官网jdk下载2025-08-11 14:30:01
  • centos常用命令2025-08-11 14:30:01
  • c语言指针函数有什么用2025-08-11 14:30:01
  • 黑客工具箱20202025-08-11 14:30:01
  • c语言scanf函数的用法2025-08-11 14:30:01
  • sql语句编写技巧2025-08-11 14:30:01
  • uoj开源2025-08-11 14:30:01
  • vs2012是干嘛用的2025-08-11 14:30:01
  • java线程切换消耗2025-08-11 14:30:01