加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 将CRC值保存在文件中,而不更改实际的CRC校验和?

发布时间:2020-12-15 09:44:34 所属栏目:大数据 来源:网络整理
导读:我将从我自己的类中定义的一些对象保存到File. (保存流数据). 这一切都很好,但我希望能够在File中存储该文件的CRC校验和. 然后,每当我的应用程序尝试打开文件时,它都可以读取内部存储的CRC值. 然后检查实际文件,如果文件的CRC与内部存储的CRC值匹配,我可以正
我将从我自己的类中定义的一些对象保存到File. (保存流数据).

这一切都很好,但我希望能够在File中存储该文件的CRC校验和.

然后,每当我的应用程序尝试打开文件时,它都可以读取内部存储的CRC值.

然后检查实际文件,如果文件的CRC与内部存储的CRC值匹配,我可以正常处理文件,否则显示错误消息,说文件无效.

我需要一些关于如何做到这一点的建议,我想我可以这样做:

>从我的应用程序中保存文件.
>计算保存文件的CRC.
>编辑存储CRC值的已保存文件.
>每当打开文件时,检查CRC是否与内部CRC值匹配.

问题是,只要在文件中更改了单个数据字节,就会导致CRC校验和完全不同 – 正如预期的那样.

解决方法

简单地说,您需要从校验和计算中排除用于存储校验和的字节.

将校验和写为文件中的最后一项.除校验和外,根据文件内容计算它.当您来读取文件时,根据校验和之前的内容计算校验和.或者您可以将校验和写为具有随机访问权限的文件的第一个字节.只要你知道它在哪里.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读