LotusLoveNature

日常工作,生活小记

md5小知识

听过很多开发者说md5校验,据说可以检查文件完整性,还可以加密。

现在,就整理下,md5到底有哪些用途,这里列举两种普遍的用途。

1. md5在文件完整性上的作用非常大,它可以基于整个文件生成一个md5值(不包括目录),这个md5保存起来,然后文件可以做一系列动作,比如网络传输,文件拷贝后,再获取文件的md5,与原来保存的md5进行比较,如果相同说明文件是原文件,没有缺失或者被修改。

因为md5计算精确到文件的一个bit修改。

举个例子,网络下载文件,校验md5是什么意思呢,就是下载的时候先请求文件信息,里面就包括文件md5,保存起来,然后下载文件本身,文件本身下载完成后,将下载下来的文件md5与原来保存的md5进行比较,就可以判断所下载的文件完整性了。

2. md5加密

   摘抄:md5还广泛用于加密和解密技术上。比如在unix系统中用户的密码就是以md5(或其它类似的算法)经加密后存储在文件系统中。当用户登录的时候,系统把用户输入的密码计算成md5值,然后再去和保存在文件系统中的md5值进行比较,进而确定输入的密码是否正确

3. 对于如何生成md5和check md5实践

    a.写一个文件myfile.txt,在cygwin用linux命令,md5sum myfile.txt,生成md5

  “352ca3592ecd1276cd3675469d3c2c4e ”为了方便之后check,我们把它存起来,存到文件“myfile.md5”,里面保存的信息为“

  ”352ca3592ecd1276cd3675469d3c2c4e  myfile.txt“

   这里要保证myfile.txt的路径正确

   b. 校验md5

    输入命令“md5sum -c /cygdrive/c/Users/xx/Desktop/myfile.md5
    得到结果:确定,即校验成功

    将myfile.txt修改一下,比如加入两个空格,保存,然后再执行上面的命令进行校验

    得到结果:失败,即校验失败

    

    

评论
©LotusLoveNature | Powered by LOFTER