【问题标题】:Checksum different For Same file Created By Two process由两个进程创建的同一文件的校验和不同
【发布时间】:2016-02-11 17:11:32
【问题描述】:

我在 VB 中有一个实用程序可以生成附加文件 (circle.14.mdn_range.properties_VB),并且我创建了其他文件 (circle.14.mdn_range.properties_UTLFILE) 与 UTL_FILE(Oracle) 具有相同的内容。但是对于具有相同内容的两个文件,校验和是不同的。您能建议消除此错误的原因和可能的方法吗?

CertUtil -hashfile circle.14.mdn_range.properties_VB MD5
MD5 hash of file circle.14.mdn_range.properties_VB:
1b 43 b6 a4 44 d0 4d 8a 8b 91 3e 7b d7 aa 4f 4e
CertUtil: -hashfile command completed successfully.

CertUtil -hashfile circle.14.mdn_range.properties_UTLFILE MD5  
MD5 hash of file circle.14.mdn_range.properties_UTLFILE:

ae 0c 75 b8 d5 19 05 64 d5 c6 54 ec 55 bc dc e0
CertUtil: -hashfile command completed successfully.

【问题讨论】:

  • 没有看到数据本身和生成它的代码,我们无能为力。请edit您的帖子包含您如何创建这些文件的示例。
  • 可能是相同的文件contents,但如果由2个不同的进程和2种不同的方式创建,则不是同一个file
  • 显然文件不一样。
  • 如果校验和不同,则文件不同。仅仅因为他们共享相同的名字或看起来他们应该是相同的并不会使他们如此。如果我有两个制造商的网页都带有“为我制造汽车”的链接,我点击两个网站上的链接,并且都告诉我他们已经为我运送了汽车,这并不意味着两辆汽车都是相同的(甚至它们都是汽车 - 一个可以有两个轮子和踏板)。使用 diff 实用程序比较文件并找出它们的不同之处。我们无法为您执行此操作,因为我们没有这些文件。

标签: oracle vb6 checksum utl-file


【解决方案1】:

可能其中一个文件是 UTF-8(通常称为 ASCII)而另一个是 UTF-16(通常称为 Unicode)。要确定文件的不同之处,请尝试使用“Beyond Compare”之类的实用程序。或者,编写一个 VB 程序以更多的二进制文件打开这两个文件,逐字节读取并找出它们的不同之处应该是微不足道的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多