2008-10-08 61 views
2

我想知道是否您知道某处我可以找到有关如何为文档检索构建签名文件的信息。
你知道是否有代码可以使用或查看吗?
我必须在linux平台下用C++创建签名文件。

UPDATE:对不起,我赞赏的帮助,但我指的签名文件不是一种验证文件的方式,而是一种索引文件的方式。


http://en.wikipedia.org/wiki/Signature_files


任何帮助将不胜感激。用于文档检索的签名文件

感谢,

回答

0

md5sum可能是你在找什么。如果你周围有Google,可以使用生成md5签名的源代码。

维基百科:

因为几乎任何改变文件 会导致其MD5哈希也 变化,MD5哈希是常用 验证文件 的完整性(即验证一个文件没有 由于文件传输而改变, 磁盘错误,插入等)。 md5sum程序默认安装在大多数Unix,Linux和Unix上的 操作系统或兼容性 层。 BSD变体(包括Mac OS X)有一个类似的实用程序称为md5。 存在Microsoft Windows版本 。

0

与亚当的建议类似,如果您正在处理大量文档,检出SHA1和sha1sum可能是一个好主意。更少的冲突和更高级的加密。

2

首先,让我们澄清一些术语。

数字签名旨在等同于手写签名(有关更好的描述和概述,请参阅http://en.wikipedia.org/wiki/Digital_signature)。

将数字签名应用于文档时,您可以更高程度地确保文档的真实性(假如文档是伪造的,您可以更好地了解)。

Adam和Robert的答案都提到验证文档完整性(即文档未更改)的方法。虽然数字签名也提供了这一点,但校验和(哈希)不提供真实性。

因此,确定您的“签名文件”的需求非常重要。我会假设你正在谈论数字签名,而不是校验和,因为其他答案会提供校验和。

您将需要编写一个PKCS#7分离签名(行话 - 一种不包含数据的标准格式签名,因此它可以单独存储)。为了实现这个目标,我建议你使用一个标准库,例如OpenSSL(这是便携式的)。