TSha512Digest = array[0..63] of Byte;
TSha384Digest = array[0..47] of Byte;
TSha512Context = record
State: array[0..7] of UInt64;
CountLo: UInt64;
CountHi: UInt64;
Buffer: array[0..127] of Byte;
BufLen: Integer;
Is384: Boolean;
end;
procedure Sha512Init(out Ctx: TSha512Context);
procedure Sha384Init(out Ctx: TSha512Context);
procedure Sha512Update(var Ctx: TSha512Context; const Buf; BufLen: Integer);
procedure Sha512Final(var Ctx: TSha512Context; out Digest: TSha512Digest);
procedure Sha384Final(var Ctx: TSha512Context; out Digest: TSha384Digest);
function Sha512Bytes(const B: TBytes): TSha512Digest;
function Sha384Bytes(const B: TBytes): TSha384Digest;
Το FPdfSha512 υλοποιεί τις συναρτήσεις hash SHA-512 και SHA-384 σε ένα κοινό πλαίσιο λέξης 64 bit. Η σημαία Is384 στο πλαίσιο επιλέγει την περικομμένη παραλλαγή SHA-384 όταν αρχικοποιείται μέσω Sha384Init
Το σταδιακό API αντικατοπτρίζει το FPdfSha256: αρχικοποιήστε ένα πλαίσιο, τροφοδοτήστε buffers με Sha512Update και οριστικοποιήστε σε digest SHA-512 64 byte ή digest SHA-384 48 byte. Τα Sha512Bytes και Sha384Bytes είναι βοηθήματα μίας κλήσης σε πίνακα byte
| Συνάρτηση | Περιγραφή |
|---|---|
Sha512Init | Αρχικοποιεί ένα πλαίσιο SHA-512 |
Sha384Init | Αρχικοποιεί ένα πλαίσιο SHA-384 (ορίζει την εσωτερική σημαία Is384) |
Sha512Update | Τροφοδοτεί ένα μη τυποποιημένο buffer σε ανοιχτό πλαίσιο SHA-512 ή SHA-384 |
Sha512Final | Οριστικοποιεί ένα πλαίσιο SHA-512 και επιστρέφει το digest 64 byte |
Sha384Final | Οριστικοποιεί ένα πλαίσιο SHA-384 και επιστρέφει το digest 48 byte |
Sha512Bytes | Hash SHA-512 μίας κλήσης ενός πίνακα byte |
Sha384Bytes | Hash SHA-384 μίας κλήσης ενός πίνακα byte |
| Τύπος | Περιγραφή |
|---|---|
TSha512Digest | Digest SHA-512 64 byte |
TSha384Digest | Digest SHA-384 48 byte |
TSha512Context | Κοινό σταδιακό πλαίσιο για SHA-512 και SHA-384 |
TSha512Context με τη σημαία Is384 που ορίζει το Sha384InitSha..., διαφέροντας από τα κεφαλαία ονόματα SHA256... στο FPdfSha256