为什么每次编译之后计算MD5都不相同

 我来答
莫言言是真2737
2016-12-14 · 超过196用户采纳过TA的回答
知道小有建树答主
回答量:453
采纳率:0%
帮助的人:233万
展开全部
建议你学习一下PE文件(通常的exe可执行文件就是一种PE文件)结构 其中由一个时间日期段 记录了PE文件被创建的时间 每一次编译的时间不同 因此此段的内容也不同 因此最终生成的文件内容有差异 继而md5码有异 附: PE部分结构C语言描述: typedef struct _IMAGE_FILE_HEADER { WORD Machine; WORD NumberOfSections; DWORD TimeDateStamp;//这里就是时间日期戳了 是链接器产生的时间 DWORD PointerToSymbolTable; DWORD NumberOfSymbols; WORD SizeOfOptionalHeader; WORD Characteristics; } IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER; 下图在一个具体的可知性文件中标示了此段的位置:
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式