将消息摘要(哈希)附加到文件的方法

时间:2013-10-05 21:08:06

标签: java hash md5 digest

我正在尝试将文件的md5哈希附加到文件本身。我正在考虑在实际文件和散列的开头之间添加一些填充,或者可能让文件的前几个字节指示文件的长度。然后我将跳过这个字节数并读取哈希值。最后,我需要一种能够以这样的方式附加文件及其哈希的方法,以便之后很容易分开。你们怎么推荐这样做?

由于

1 个答案:

答案 0 :(得分:1)

首先,不要使用MD5,它是不安全的,而是使用SHA2。

我建议不要将长度标题放在前面。这使得该文件很难被其他程序阅读 许多程序使用前几个字节来表示文件类型 添加东西将打破这一点。

如果确保散列文本的长度始终相同,则解决方案很简单 只需将其添加到文件的末尾即可。

然后解码就像这样:

  1. 将最后的x个字符读入字符串。
  2. 检查它是否与您的hash_text布局匹配
  3. 提取哈希值。
  4. 重新整理整个文件(最后的x个字符除外)以查看散列是否成立。
  5. 看一下gpg是如何做到的并复制该方案。

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v0.9.7 (GNU/Linux)
    Comment: For info see http://www.gnupg.org
    
    iEYEARECAAYFAjdYCQoACgkQJ9S6ULt1dqz6IwCfQ7wP6i/i8HhbcOSKF4ELyQB1
    oCoAoOuqpRqEzr4kOkQqHRLE/b8/Rw2k
    =y6kj
    -----END PGP SIGNATURE-----
    

    请注意,如果您通过向其添加签名来更改文件,则会阻止大多数其他程序处理您的文件。
    也许最好将签名放在包含原始链接的伴随文件中。