Sono in procinto di implementare firme digitali XML. Sto iniziando a piccoli passi, quindi ora voglio risolvere il problema dell'hash SHA-1.SHA1 hashing in Delphi XE
ci sono un sacco di domande su questo 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
... e probabilmente di più. Tuttavia, sto usando Delphi XE. Finora, ho provato LockBox 2 (entrambe le versioni di Songbeamer e Sourceforge), Lock Box 3, DCPCrypto2 e alcuni altri (Hashes è un'unità facile da usare che utilizza funzioni di crittografia di Windows)
Ho preparato un piccolo banco di prova che mi dà il seguente:
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'
hash
Test 1 passes
Test 2 passes
Vi siete riuscito a compilare le librerie di cui ai Delphi XE e farli danno i valori appropriati? Sono particolarmente interessato alla procedura DCPCrypt2SelfTest
.
Modifica: Ho aggiunto this answer con il codice sorgente fisso. Grazie a tutti per il vostro aiuto, è molto apprezzato.
Senza codice di esempio la tua domanda non ha senso. –
+1 per la panoramica delle librerie. Nota che l'hashing è pensato per i dati binari, non per le stringhe (la loro rappresentazione binaria dipende dalla loro codifica). Ho scritto una conclusione simile mentre scrivevo su MD5 hashing (http://wiert.wordpress.com/2009/12/11/delphi-md5-the-messagedigest_5-unit-has-been-there-since-delphi-2007 /). (Leggendo le risposte: questa era la conclusione delle risposte). –
La prossima volta inserisci del codice! –