g-sechas.adb, [...]: (Binary_Message_Digest): New subtype.
2012-10-29 Pascal Obry <obry@adacore.com> * g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype. (Digest): New versions returning a Binary_Message_Digest. (Wide_Digest): Likewise. From-SVN: r192921
This commit is contained in:
parent
63d0d1a376
commit
59a9c17015
3 changed files with 53 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-10-29 Pascal Obry <obry@adacore.com>
|
||||
|
||||
* g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
|
||||
(Digest): New versions returning a Binary_Message_Digest.
|
||||
(Wide_Digest): Likewise.
|
||||
|
||||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* warnsw.adb: Complete previous change.
|
||||
|
|
|
@ -184,6 +184,30 @@ package body GNAT.Secure_Hashes is
|
|||
return Digest (C);
|
||||
end Digest;
|
||||
|
||||
function Digest (C : Context) return Binary_Message_Digest is
|
||||
Hash_Bits : Stream_Element_Array
|
||||
(1 .. Stream_Element_Offset (Hash_Length));
|
||||
begin
|
||||
Final (C, Hash_Bits);
|
||||
return Hash_Bits;
|
||||
end Digest;
|
||||
|
||||
function Digest (S : String) return Binary_Message_Digest is
|
||||
C : Context;
|
||||
begin
|
||||
Update (C, S);
|
||||
return Digest (C);
|
||||
end Digest;
|
||||
|
||||
function Digest
|
||||
(A : Stream_Element_Array) return Binary_Message_Digest
|
||||
is
|
||||
C : Context;
|
||||
begin
|
||||
Update (C, A);
|
||||
return Digest (C);
|
||||
end Digest;
|
||||
|
||||
-----------
|
||||
-- Final --
|
||||
-----------
|
||||
|
@ -325,6 +349,13 @@ package body GNAT.Secure_Hashes is
|
|||
return Digest (C);
|
||||
end Wide_Digest;
|
||||
|
||||
function Wide_Digest (W : Wide_String) return Binary_Message_Digest is
|
||||
C : Context;
|
||||
begin
|
||||
Wide_Update (C, W);
|
||||
return Digest (C);
|
||||
end Wide_Digest;
|
||||
|
||||
end H;
|
||||
|
||||
-------------------------
|
||||
|
|
|
@ -156,6 +156,22 @@ package GNAT.Secure_Hashes is
|
|||
Word_Length : constant Natural := Hash_State.Word'Size / 8;
|
||||
Hash_Length : constant Natural := Hash_Words * Word_Length;
|
||||
|
||||
subtype Binary_Message_Digest is
|
||||
Stream_Element_Array (1 .. Stream_Element_Offset (Hash_Length));
|
||||
-- The fixed-length byte array returned by Digest, providing
|
||||
-- the hash in binary representation.
|
||||
|
||||
function Digest (C : Context) return Binary_Message_Digest;
|
||||
-- Return hash for the data accumulated with C
|
||||
|
||||
function Digest (S : String) return Binary_Message_Digest;
|
||||
function Wide_Digest (W : Wide_String) return Binary_Message_Digest;
|
||||
function Digest
|
||||
(A : Stream_Element_Array) return Binary_Message_Digest;
|
||||
-- These functions are equivalent to the corresponding Update (or
|
||||
-- Wide_Update) on a default initialized Context, followed by Digest
|
||||
-- on the resulting Context.
|
||||
|
||||
subtype Message_Digest is String (1 .. 2 * Hash_Length);
|
||||
-- The fixed-length string returned by Digest, providing the hash in
|
||||
-- hexadecimal representation.
|
||||
|
|
Loading…
Add table
Reference in a new issue