Le hachage SHA1 dans Delphi XE

Je suis dans le processus de mise en œuvre de signatures numériques XML. Je commence avec des petits pas, donc maintenant je veux résoudre le problème de hachage SHA-1.

Il ya beaucoup de questions à ce sujet dans:

  1. Digitially Signe Touche avec boîte postale
  2. Bibliothèque de cryptage pour Delphi
  3. Convertir ce php signature numérique à Delphi
  4. Delphi: est-il une version de boîtes aux lettres pour Delphi XE
  5. Delphi 2010 bibliothèques de Cryptographie

...et probablement plus. Cependant, je suis l'aide de Delphi XE. Jusqu'à présent, j'ai essayé de boîte postale 2 (à la fois le Songbeamer et Sourceforge versions), Serrure de Boîte de 3, DCPCrypto2 et quelques autres (Hachages est une unité facile à utiliser qui utilise Windows crypto fonctions)

J'ai préparé un petit banc d'essai qui me donne le suivant:

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'

Hachages

Test 1 passes
Test 2 passes

Avez-vous réussi à compiler le mentionné bibliothèques sous Delphi XE et de leur faire donner les valeurs appropriées? Je suis particulièrement intéressé par DCPCrypt2 SelfTest procédure.

Modifier: j'ai ajouté cette réponse avec le fixe code source. Merci à vous tous pour votre aide, il est le plus apprécié.

Sans exemple de code à votre question est dénuée de sens.
+1 pour la vue d'ensemble de bibliothèques. Notez que le hachage est conçu pour des données binaires, pas pour cordes (leur représentation binaire dépend de leur codage). J'ai écrit à une conclusion similaire, tandis que écrit sur le hachage MD5. (Lire les réponses: c'est la conclusion de la réponse aussi <g>).
La prochaine fois post un peu de code!
P - je vais mettre à jour cette réponse à mon code.
Mayevski 'EldoS Corp - Mec, je suis juste évaluation de la SecureBlackBox toolkit, et je suis terrassé. Vous n'avez pas un gentil, un coupon de réduction de la graisse autour de la pose que vous pouvez me donner? 😉

OriginalL'auteur Leonardo Herrera | 2011-02-08