关于使用CheckSum判定数据文件是否更改
系统要求能够识别出数据文件是否被外部程序篡改过,我查了一下资料觉得利用文件的CheckSum可以实现这样的功能.我的设想是用我的程序采用MD5算法计算数据文件的校验和,但是该校验和如何存储呢,有如下两种情况:
1.如果将该CheckSum值保存在数据文件中,如果恶意用户破解了我的文件格式,篡改数据后,重新计算CheckSum并更新到数据文件中。那我的程序不是无法检测到数据被篡改了吗?
2.如果将该CheckSum存储在本地数据库中,如何能始终维持两者之间的对应关系呢?如果恶意用户修改文件名,则无法保持文件与CheckSum的对应关系了?
请问,应该怎样设计呢?