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 implementa as funções de hash SHA-512 e SHA-384 sobre um contexto compartilhado de palavras de 64 bits. O sinalizador Is384 no contexto seleciona a variante truncada SHA-384 quando inicializado por meio de Sha384Init
A API incremental espelha o FPdfSha256: inicialize um contexto, forneça buffers com Sha512Update e finalize para um resumo SHA-512 de 64 bytes ou um resumo SHA-384 de 48 bytes. Sha512Bytes e Sha384Bytes são auxiliares de uso único sobre um array de bytes
| Function | Description |
|---|---|
Sha512Init | Inicializa um contexto SHA-512 |
Sha384Init | Inicializa um contexto SHA-384 (define o sinalizador interno Is384) |
Sha512Update | Fornece um buffer sem tipo para um contexto SHA-512 ou SHA-384 aberto |
Sha512Final | Finaliza um contexto SHA-512 e retorna o resumo de 64 bytes |
Sha384Final | Finaliza um contexto SHA-384 e retorna o resumo de 48 bytes |
Sha512Bytes | Hash SHA-512 de uso único de um array de bytes |
Sha384Bytes | Hash SHA-384 de uso único de um array de bytes |
| Type | Description |
|---|---|
TSha512Digest | Resumo SHA-512 de 64 bytes |
TSha384Digest | Resumo SHA-384 de 48 bytes |
TSha512Context | Contexto incremental compartilhado para SHA-512 e SHA-384 |
TSha512Context com o sinalizador Is384 definido por Sha384InitSha..., diferindo dos nomes em maiúsculas SHA256... no FPdfSha256