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, paylaşılan bir 64 bitlik kelime bağlamı üzerinde SHA-512 ve SHA-384 karma fonksiyonlarını uygular. Bağlamdaki Is384 bayrağı, Sha384Init üzerinden başlatıldığında kısaltılmış SHA-384 varyantını seçer
Artımlı API FPdfSha256'yı yansıtır: bir bağlam başlatın, tamponları Sha512Update ile besleyin ve 64 baytlık bir SHA-512 özetine ya da 48 baytlık bir SHA-384 özetine sonlandırın. Sha512Bytes ve Sha384Bytes bir bayt dizisi üzerinde tek adımlı yardımcılardır
| Function | Description |
|---|---|
Sha512Init | Bir SHA-512 bağlamını başlatır |
Sha384Init | Bir SHA-384 bağlamını başlatır (iç Is384 bayrağını ayarlar) |
Sha512Update | Açık bir SHA-512 veya SHA-384 bağlamına türsüz bir tampon besler |
Sha512Final | Bir SHA-512 bağlamını sonlandırır ve 64 baytlık özeti döndürür |
Sha384Final | Bir SHA-384 bağlamını sonlandırır ve 48 baytlık özeti döndürür |
Sha512Bytes | Bir bayt dizisinin tek adımlı SHA-512 karması |
Sha384Bytes | Bir bayt dizisinin tek adımlı SHA-384 karması |
| Type | Description |
|---|---|
TSha512Digest | 64 baytlık SHA-512 özeti |
TSha384Digest | 48 baytlık SHA-384 özeti |
TSha512Context | SHA-512 ve SHA-384 için paylaşılan artımlı bağlam |
Sha384Init tarafından ayarlanan Is384 bayrağıyla TSha512Context öğesini yeniden kullanırSha... biçimini kullanır; bu, FPdfSha256 içindeki tümü büyük harf SHA256... adlarından farklıdır