Estoy en el proceso de implementación de firmas digitales XML. Estoy empezando con pequeños pasos, así que ahora quiero resolver el problema del hash SHA-1.hash SHA1 en Delphi XE
Hay un montón de preguntas acerca de esto en 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
... y probablemente más. Sin embargo, estoy usando Delphi XE. Hasta ahora, he probado LockBox 2 (las versiones Songbeamer y Sourceforge), Lock Box 3, DCPCrypto2 y algunas otras (Hashes es una unidad fácil de usar que usa funciones de cifrado de Windows)
Preparé una pequeña plataforma de prueba eso me da lo siguiente:
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'
Hashes
Test 1 passes
Test 2 passes
¿Ha tenido éxito en compilar las bibliotecas mencionadas en Delphi XE y hacer que se dan los valores apropiados? Estoy particularmente interesado en DCPCrypt2SelfTest
procedimiento.
Editar: He agregado this answer con el código fuente fijo. Gracias a todos por su ayuda, es muy apreciado.
Sin código de muestra, su pregunta no tiene sentido. –
+1 para obtener una descripción general de las bibliotecas. Tenga en cuenta que el hashing está destinado a datos binarios, no para cadenas (su representación binaria depende de su codificación). Escribí una conclusión similar mientras escribía sobre hashing MD5 (http://wiert.wordpress.com/2009/12/11/delphi-md5-the-messagedigest_5unit-has-been-there-since-delphi-2007 /). (Leyendo las respuestas: esa fue la conclusión de las respuestas también). –
¡La próxima vez publica un código! –