相关疑难解决方法(0)

Delphi XE中的SHA1散列

我正在实施XML数字签名.我从小步骤开始,所以现在我想解决SHA-1哈希的问题.

在SO中有很多关于此的问题:

  1. 数字签名密钥与锁箱
  2. Delphi的加密库
  3. 将此php数字签名转换为Delphi
  4. Delphi:是否有适用于Delphi-XE的LockBox版本
  5. Delphi 2010密码学库

......可能还有更多.但是,我正在使用Delphi XE.到目前为止,我已经试过的Lockbox 2(两个Songbeamer和Sourceforge的版本),锁箱3,DCPCrypto2和其他一些人(哈希值是一个易于使用的单位,使用Windows加密功能)

我准备了一个小型试验台,它给了我以下内容:

LockBox2

FAILED: 1 ('abc') 
       Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
  Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq') 
       Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
  Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
Run Code Online (Sandbox Code Playgroud)

LockBox3

FAILED: 1 ('abc') 
       Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
  Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq') 
       Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
  Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
Run Code Online (Sandbox Code Playgroud)

DCPCrypto2

FAILED: 1 ('abc') 
       Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
  Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq') 
       Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
  Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
Run Code Online (Sandbox Code Playgroud)

哈希

Test 1 passes
Test 2 passes
Run Code Online (Sandbox Code Playgroud)

您是否已成功在Delphi XE下编译提到的库并使它们具有适当的值?我对DCPCrypt2 SelfTest程序特别感兴趣.

编辑:我已经用固定的源代码添加了这个答案.谢谢大家的帮助,非常感谢.

delphi cryptography sha1 delphi-xe

7
推荐指数
3
解决办法
1万
查看次数

标签 统计

cryptography ×1

delphi ×1

delphi-xe ×1

sha1 ×1