文件进行 MD5 加密 什么意思,做什么用
文件进行 MD5 加密 什么意思,做什么用
MD5不是加密文字什么的吗?文件进行 MD5 加密不理解
chiner
10 years, 1 month ago
Answers
MD5本身而言就是将任意长度的信息流散列然后生成定长的摘要过程,而MD5算法的散列性很好所以不同字节流最终散列生成的结果串不会相同,而同一个字节流却可以生成同一个MD5码.
但是如果加密的存在就是为了让指定范围的人解密来说,MD5不能算是加密.因为它生成的子串是不能返回为原字节流的.所以才叫摘要嘛---就想写了论文,然后可以得出摘要;但是只知道摘要你也不能获取论文一样.
作用呢,一般有:
- 确保完整性: 你将文件生成了MD5摘要,传输文件和MD5码给接收端,接收端接收文件后可以对文件生成MD5码然后与接收到的MD5码对比校验确保文件是完整的而且中途没有被修改.
-
确保有效性: 你发送文件过去后,可以要求接收端返回文件的MD5码,你可以将收到的MD5码和自己文件的MD5码校验,确保通信为有效;还有就是可以将文件存储起来,MD5码也存储在数据库,以便复查的时候确保文件是传输成功了的[也就是防止抵赖...]
...等等等等.
总之这个MD5只是用以校验和防止中途修改之类的存在.
至于实现嘛,一般编程语言都有实现了的.
主要是散列方法的不同.实现方法很多,不过我看楼主估计也就是想要生成这个就是了,提供一套方案给你吧:
先生成16位MD5码:为a, 然后生成32位为b,
则40位为: c= a[0-15] + b[24-31]+b[16-23]+b[24-31]
ps: 0-15就是下标为0到下标为15
pps:这也是比较常见的MD5 - 40了.至于完全自定义散列函数,实在是...略难
我要神ID
answered 10 years, 1 month ago