文件MD5值是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件MD5值是啥?相关的知识,希望对你有一定的参考价值。

MD5信息摘要算法一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。

扩展资料

1991年,Rivest开发出技术上更为趋近成熟的MD5算法。它在MD4的基础上增加了"安全带"(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。

这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。

Den boer和Bosselaers曾发现MD5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。

参考资料来源:百度百科-MD5值

参考技术A MD5的全称是Message-Digest
Algorithm
5.在90年代初由MIT的计算机科学实验室和RSA
Data
Security
Inc发明.经MD2.MD3和MD4发展而来.
Message-Digest泛指字节串(Message)的Hash变换.就是把一个任意长度的字节串变换成一定长的大整数.请注意我使用了[字节串"而不是[字符串"这个词.是因为这种变换只与字节的值有关.与字符集或编码方式无关.
MD5将任意长度的[字节串"变换成一个128bit的大整数.并且它是一个不可逆的字符串变换算法.换句话说就是.即使你看到源程序和算法描述.也无法将一个MD5的值变换回原始的字符串.从数学原理上说.是因为原始的字符串有无穷多个.这有点象不存在反函数的数学函数.
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹).以防止被[篡改".举个例子.你将一段话写在一个叫
readme.txt文件中.并对这个readme.txt产生一个MD5的值并记录在案.然后你可以传播这个文件给别人.别人如果修改了文件中的任何内容.你对这个文件重新计算MD5时就会发现(两个MD5值不相同).如果再有一个第三方的认证机构.用MD5还可以防止文件作者的[抵赖".这就是所谓的数字签名应用.
MD5还广泛用于加密和解密技术上.在很多操作系统中.用户的密码是以MD5值(或类似的其它算法)的方式保存的.
用户Login的时候.系统是把用户输入的密码计算成MD5值.然后再去和系统中保存的MD5值进行比较.而系统并不[知道"用户的密码是什么.
MD5在论坛上.软件发布时经常用.是为了保证文件的正确性.防止一些人盗用程序.加些木马或者篡改版权.设计的一套验证系统.每个文件都可以用MD5验证程序算出一个固定的MD5码来.软件作者往往会事先计算出他的程序的MD5码并帖在网上.因此.在网上看到某个程序下载旁注明了MD5码时.可以把它记下来.下载了这个程序后用MD5验证程序计算你所下载的文件的MD5码.和你之前记下MD5码比较.就知道你下的是不是原版了.如果两者相同.那么你所下载的是原版.如果计算出来的和网上注明的不匹配.那么你下载的这个文件不完整.或是被别人动过手脚.
自己写的.不知道讲清楚没有
参考技术B 文件签名。

MD5在论坛上、软件发布时经常用,是为了保证文件的正确性,防止一些人盗用程序,加些木马或者篡改版权,设计的一套验证系统。每个文件都可以用MD5验证程序算出一个固定的MD5码来。软件作者往往会事先计算出他的程序的MD5码并帖在网上。因此,在网上看到某个程序下载旁注明了MD5码时,可以把它记下来,下载了这个程序后用MD5验证程序计算你所下载的文件的MD5码,和你之前记下MD5码比较,就知道你下的是不是原版了,如果两者相同,那么你所下载的是原版。如果计算出来的和网上注明的不匹配,那么你下载的这个文件不完整,或是被别人动过手脚。
相当于我们的身份证 独一无二的
参考技术C 文件签名。

MD5在论坛上、软件发布时经常用,是为了保证文件的正确性,防止一些人盗用程序,加些木马或者篡改版权,设计的一套验证系统。每个文件都可以用MD5验证程序算出一个固定的MD5码来。软件作者往往会事先计算出他的程序的MD5码并帖在网上。因此,在网上看到某个程序下载旁注明了MD5码时,可以把它记下来,下载了这个程序后用MD5验证程序计算你所下载的文件的MD5码,和你之前记下MD5码比较,就知道你下的是不是原版了,如果两者相同,那么你所下载的是原版。如果计算出来的和网上注明的不匹配,那么你下载的这个文件不完整,或是被别人动过手脚。
相当于我们的身份证 独一无二的

http://zhidao.baidu.com/question/589928524.html
参考技术D

在线文件MD5值计算工具,不用上传文件即可计算文件MD5值,快速方便验证文件是否被修改过。

文件MD5值计算工具

execve的返回值是啥

Linux下的都来了。LZ算是强人了。

真心十分佩服
相关函数 fork,execl,execle,execlp,execv,execvp

表头文件 #include <unistd.h >

定义函数 int execve(const char * filename,char * const argv[ ],char * const envp[ ]);

函数说明 execve()用来执行参数filename字符串所代表的文件路径,第二个参数系利用数组指针来传递给执行文件,最后一个参数则为传递给执行文件的新环境变量数组。

返回值 如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno 中。

错误代码 EACCES
1. 欲执行的文件不具有用户可执行的权限。
2. 欲执行的文件所属的文件系统是以noexec 方式挂上。
3.欲执行的文件或script翻译器非一般文件。
EPERM
1.进程处于被追踪模式,执行者并不具有root权限,欲执行的文件具有SUID 或SGID 位。
2.欲执行的文件所属的文件系统是以nosuid方式挂上,欲执行的文件具有SUID 或SGID 位元,但执行者并不具有root权限。
E2BIG 参数数组过大
ENOEXEC 无法判断欲执行文件的执行文件格式,有可能是格式错误或无法在此平台执行。
EFAULT 参数filename所指的字符串地址超出可存取空间范围。
ENAMETOOLONG 参数filename所指的字符串太长。
ENOENT 参数filename字符串所指定的文件不存在。
ENOMEM 核心内存不足
ENOTDIR 参数filename字符串所包含的目录路径并非有效目录
EACCES 参数filename字符串所包含的目录路径无法存取,权限不足
ELOOP 过多的符号连接
ETXTBUSY 欲执行的文件已被其他进程打开而且正把数据写入该文件中
EIO I/O 存取错误
ENFILE 已达到系统所允许的打开文件总数。
EMFILE 已达到系统所允许单一进程所能打开的文件总数。
EINVAL 欲执行文件的ELF执行格式不只一个PT_INTERP节区
EISDIR ELF翻译器为一目录
ELIBBAD ELF翻译器有问题。
参考技术A 应用楼上的
"返回值 如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno 中。 "

以上是关于文件MD5值是啥?的主要内容,如果未能解决你的问题,请参考以下文章

想刷机但是每个rom都有啥MD5验证,请问是啥?怎么用?

md5是啥 如何计算MD5

什么是MD5

什么是MD5值?如何查看文件的MD5值?

md5 是啥文件?用啥文件打开?

windowsXP系统的MD5是啥意思