Я в процессе внедрения цифровых подписей XML. Я начинаю с маленьких шагов, так что прямо сейчас я хочу решить проблему хеширования SHA-1.
Есть много вопросов по этому поводу в SO:
... и, возможно, больше. Однако я использую Delphi XE. До сих пор я пробовал LockBox 2 (версии Songbeamer и Sourceforge), Lock Box 3, DCPCrypto2 и некоторые другие ( Хэши - простой в использовании модуль, использующий криптографические функции Windows)
I подготовил небольшой тестовый стенд, который дает мне следующее:
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 и заставить их давать соответствующие значения? Я' m особенно интересовался процедурой DCPCrypt2 SelfTest
.
Edit : Я добавил этот ответ с фиксированным исходным кодом. Спасибо всем за вашу помощь, мы очень ценим ее.