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 implementuje funkcje skrótu SHA-512 i SHA-384 na współdzielonym kontekście słów 64-bitowych. Flaga Is384 w kontekście wybiera skrócony wariant SHA-384, gdy inicjalizacja nastąpiła przez Sha384Init
Przyrostowe API odbija FPdfSha256: zainicjuj kontekst, podawaj bufery przez Sha512Update i sfinalizuj do 64-bajtowego skrótu SHA-512 lub 48-bajtowego skrótu SHA-384. Sha512Bytes i Sha384Bytes to pomocniki jednorazowe dla tablicy bajtów
| Function | Description |
|---|---|
Sha512Init | Inicjuje kontekst SHA-512 |
Sha384Init | Inicjuje kontekst SHA-384 (ustawia wewnętrzną flagę Is384) |
Sha512Update | Podaje bufor bez typu do otwartego kontekstu SHA-512 lub SHA-384 |
Sha512Final | Finalizuje kontekst SHA-512 i zwraca 64-bajtowy skrót |
Sha384Final | Finalizuje kontekst SHA-384 i zwraca 48-bajtowy skrót |
Sha512Bytes | Jednorazowy skrót SHA-512 tablicy bajtów |
Sha384Bytes | Jednorazowy skrót SHA-384 tablicy bajtów |
| Type | Description |
|---|---|
TSha512Digest | 64-bajtowy skrót SHA-512 |
TSha384Digest | 48-bajtowy skrót SHA-384 |
TSha512Context | Współdzielony kontekst przyrostowy dla SHA-512 i SHA-384 |
TSha512Context z flagą Is384 ustawioną przez Sha384InitSha..., w odróżnieniu od nazw wielkimi literami SHA256... w FPdfSha256