如何为 HTML 文档创建防篡改印章或签名

How to create a Tamper Evident Seals or Signature for HTML a Document

我想用更易访问的自包含 HTML 文档替换一些 PDF 文件。

可以使用数据 URI 对图像进行编码 http://en.wikipedia.org/wiki/Data_URI_scheme

出于法律原因,我需要确保文件未被篡改 并在可能的情况下验证真实性。

这些文件是 "public" 所以他们不需要 "secure" 他们需要一个 防篡改 "seal" 或签名,可以轻松显示文件是否已被更改。

该文件通常会保留在客户端计算机上以备记录。

我正在考虑使用 MD5 散列和我自己的长盐关键字,那 只有我知道。该页面将与附加到文件的哈希一起保存。

要检查页面,请删除最后一行并检查哈希值。

进一步阅读的任何建议/链接:

谢谢 麦克

MD5 已经不够好了。使用 HMAC-SHA256 或更好的算法。可能使用诸如 PBKDF2 之类的密钥派生函数来使其更不可能伪造 MAC.

您当然可以使用 public 密钥签名算法,例如 RSA,但您必须问自己以​​下问题。如果您将是唯一需要验证签名的人,那么您不需要 RSA 的额外开销,您可以安全地坚持使用 HMAC。因为 HMAC 的问题是 "signing" 和 "verifying" 一方必须知道盐。