35 lines
1.4 KiB
Ada
35 lines
1.4 KiB
Ada
with Ada.Strings.Unbounded;
|
|
with Ada.Text_IO;
|
|
with MD5;
|
|
|
|
procedure Tester is
|
|
use Ada.Strings.Unbounded;
|
|
type String_Array is array (Positive range <>) of Unbounded_String;
|
|
Sources : constant String_Array :=
|
|
(To_Unbounded_String (""),
|
|
To_Unbounded_String ("a"),
|
|
To_Unbounded_String ("abc"),
|
|
To_Unbounded_String ("message digest"),
|
|
To_Unbounded_String ("abcdefghijklmnopqrstuvwxyz"),
|
|
To_Unbounded_String
|
|
("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
|
|
To_Unbounded_String
|
|
("12345678901234567890123456789012345678901234567890123456789012345678901234567890")
|
|
);
|
|
Digests : constant String_Array :=
|
|
(To_Unbounded_String ("0xd41d8cd98f00b204e9800998ecf8427e"),
|
|
To_Unbounded_String ("0x0cc175b9c0f1b6a831c399e269772661"),
|
|
To_Unbounded_String ("0x900150983cd24fb0d6963f7d28e17f72"),
|
|
To_Unbounded_String ("0xf96b697d7cb7938d525a2f31aaf161d0"),
|
|
To_Unbounded_String ("0xc3fcd3d76192e4007dfb496cca67e13b"),
|
|
To_Unbounded_String ("0xd174ab98d277d9f5a5611c2c9f419d9f"),
|
|
To_Unbounded_String ("0x57edf4a22be3c955ac49da2e2107b67a"));
|
|
begin
|
|
for I in Sources'Range loop
|
|
Ada.Text_IO.Put_Line ("MD5 (""" & To_String (Sources (I)) & """):");
|
|
Ada.Text_IO.Put_Line
|
|
(MD5.To_String (MD5.MD5 (To_String (Sources (I)))));
|
|
Ada.Text_IO.Put_Line (To_String (Digests (I)) & " (correct value)");
|
|
end loop;
|
|
end Tester;
|