Tôi đang trong quá trình triển khai chữ ký số XML. Tôi bắt đầu với các bước nhỏ, vì vậy ngay bây giờ tôi muốn giải quyết vấn đề băm SHA-1.Hàm băm SHA1 trong Delphi XE
Có rất nhiều câu hỏi về vấn đề này trong 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
... và có thể nhiều hơn nữa. Tuy nhiên, tôi đang sử dụng Delphi XE. Cho đến nay, tôi đã thử LockBox 2 (cả hai phiên bản Songbeamer và Sourceforge), Lock Box 3, DCPCrypto2 và một số khác (Hashes là một đơn vị dễ sử dụng sử dụng các chức năng mã hóa Windows)
Tôi đã chuẩn bị một giàn khoan nhỏ mà mang lại cho tôi những điều sau đây:
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
Bạn đã thành công trong việc biên soạn các thư viện nêu dưới Delphi XE và làm cho họ cung cấp cho các giá trị thích hợp? Tôi đặc biệt quan tâm đến thủ tục DCPCrypt2SelfTest
.
Chỉnh sửa: Tôi đã thêm this answer với mã nguồn cố định. Cảm ơn tất cả vì sự giúp đỡ của bạn, nó được đánh giá cao nhất.
Nếu không có mã mẫu, câu hỏi của bạn là vô nghĩa. –
+1 để biết tổng quan về thư viện. Lưu ý rằng băm có nghĩa là cho dữ liệu nhị phân, không cho các chuỗi (biểu diễn nhị phân của chúng phụ thuộc vào mã hóa của chúng). Tôi đã viết một kết luận tương tự trong khi [viết trên băm MD5] (http://wiert.wordpress.com/2009/12/11/delphi-md5-the-messagedigest_5-unit-has-been-there-since-delphi-2007 /). (Đọc câu trả lời: đó là kết luận của các câu trả lời quá). –
Tiếp theo thời gian đăng một số mã! –