linux计算md5的命令以及md5的原理

如何计算linux的md5值

echo -n xxxx | md5sum

例如计算某个url的md5值

echo -n "https://www.toutiao.com/amos_land_page/?topic_id=7056654219297685518" | md5sum | cut -d " " -f1

返回结果

7abb72ac5f9eccccc3150d65ae6ada23

说明:

echo -n : 不打印换行符。(注意: echo -n 后面的-n参数必须加上, 这样算出的字符串的md5值才正确)
md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为"-",则从标准输入读取
cut: cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。 -d 指定与空格和tab键不同的域分隔符。-f1 表示第一个域。

tips:

echo -n后面接的字符串必须用双引号括起来,否则md5计算不正确,如果字符串不用双引号括起来,加上转义字符也可以替换上面的写法,命令如下:

echo -n https://www.toutiao.com/amos_land_page/\?topic_id\=7056654219297685518 | md5sum | cut -d " " -f1 

md5原理与作用

1.md5是什么?

MD5讯息摘要演算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码杂凑函数,可以产生出一个128位元(16位元组)的散列值(hash value),用于确保信息传输完整一致。

2.md5的特征

输入任意长度的信息,经过处理,输出为128位的信息(数字指纹);
不同的输入得到的不同的结果(唯一性);

3.md5的应用

1.防止被篡改: 1)比如发送一个电子文档,发送前,我先得到MD5的输出结果a。然后在对方收到电子文档后,对方也得到一个MD5的输出结果b。如果a与b一样就代表中途未被篡改。 2)比如我提供文件下载,为了防止不法分子在安装程序中添加木马,我可以在网站上公布由安装文件得到的MD5输出结果。 3)SVN在检测文件是否在CheckOut后被修改过,也是用到了MD5.

2.防止直接看到明文

3.防止抵赖(数字签名)

4.md5的特征

认为md5不属于加密算法的人是因为他们觉得不能从密文(散列值)反过来得到原文,即没有解密算法,所以这部分人认为MD5只能属于算法,不能称为加密算法;非常安全,破解时间超级长。

上一篇:imx6ull之根文件系统busybox移植


下一篇:Linux下抓包命令Tcpdump