校验升级文件是用md5好 还是Crc好?(50)

  • 主题发起人 主题发起人 delhpi
  • 开始时间 开始时间
D

delhpi

Unregistered / Unconfirmed
GUEST, unregistred user!
做个自动升级的功能,想对下载后的文件进行校验一下,下载的升级信息文件里,已经有新版程序的MD5值。md5能确保正确吗?
 
MD5可以保证正确,但如果文件大的话MD5比较慢。CRC快很多。
 
文件不大。1M左右。现在发现用crc32,同样的代码,同一个文件,在不同的按钮下,取得的值居然不同。不同的按钮下用到crc32代码如下,用的是cnpack的单元var cnCRC: TCRC32;begin FileCRC32(Application.ExeName+NewExt,cnCRC); showmessage(FNewFileMD5+ ' '+ MD5Print(MD5File(Application.ExeName+NewExt))+Crlf+ FCRC32Value +' '+ IntToHex(cnCRC,2));end;IntToHex(cnCRC,2));几个地方返回的值不同。
 
文件不大就用MD5吧;
 
是的,我折腾了好一会儿,也没有发现原因。不知道为何同一个软件里在不同的FORM下,取得的值为何不同。校验的文件都是同一个。
 
多人接受答案了。
 
后退
顶部