【发布时间】:2011-06-23 05:07:03
【问题描述】:
我正在实施 XML 数字签名。我从小步骤开始,所以现在我想解决 SHA-1 哈希的问题。
在 SO 中有很多关于这个的问题:
- Digitially Sign Key with Lockbox
- Encryption library for Delphi
- Convert this php digital signing to Delphi
- Delphi: is there a version of LockBox for Delphi-XE
- Delphi 2010 Cryptography libraries
...可能还有更多。但是,我使用的是 Delphi XE。到目前为止,我已经尝试过 LockBox 2(Songbeamer 和 Sourceforge 版本)、Lock Box 3、DCPCrypto2 和其他一些(Hashes 是一个使用 Windows 加密功能的易于使用的单元)
我准备了一个小型试验台,它提供了以下信息:
LockBox2
FAILED: 1 ('abc')
Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
LockBox3
FAILED: 1 ('abc')
Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
DCPCrypto2
FAILED: 1 ('abc')
Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
哈希
Test 1 passes
Test 2 passes
您是否成功地在 Delphi XE 下编译了上述库并让它们给出了适当的值?我对 DCPCrypt2 SelfTest 程序特别感兴趣。
编辑:我添加了带有固定源代码的this answer。谢谢大家的帮助,非常感谢。
【问题讨论】:
-
没有示例代码,您的问题毫无意义。
-
+1 了解图书馆概览。请注意,散列适用于二进制数据,而不适用于字符串(它们的二进制表示取决于它们的编码)。我在writing on MD5 hashing 时写了一个类似的结论。 (阅读答案:这也是答案的结论
)。 -
@Warren P - 我会用我的代码更新这个答案。
-
@Eugene Mayevski 'EldoS Corp - 伙计,我只是在评估 SecureBlackBox 工具包,我被吓坏了。你不是有一张漂亮的、厚实的折扣券可以给我吗? ;-)
-
@Leonardo 是的,请通过我们的帮助中心 (eldos.com/helpdesk) 与我联系
标签: delphi cryptography delphi-xe sha1