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은 공유된 64비트 워드 컨텍스트 위에 SHA-512와 SHA-384 해시 함수를 구현합니다. 컨텍스트의 Is384 플래그가 Sha384Init로 초기화될 때 잘린 SHA-384 변형을 선택합니다
증분 API는 FPdfSha256과 같은 모양입니다. 컨텍스트를 초기화하고 Sha512Update로 버퍼를 공급한 뒤 64바이트 SHA-512 다이제스트 또는 48바이트 SHA-384 다이제스트로 마무리합니다. Sha512Bytes와 Sha384Bytes는 바이트 배열에 대한 원샷 헬퍼입니다
| Function | Description |
|---|---|
Sha512Init | SHA-512 컨텍스트를 초기화합니다 |
Sha384Init | SHA-384 컨텍스트를 초기화합니다(내부 Is384 플래그 설정) |
Sha512Update | 열려 있는 SHA-512 또는 SHA-384 컨텍스트에 형식 없는 버퍼를 공급합니다 |
Sha512Final | SHA-512 컨텍스트를 마무리하고 64바이트 다이제스트를 반환합니다 |
Sha384Final | SHA-384 컨텍스트를 마무리하고 48바이트 다이제스트를 반환합니다 |
Sha512Bytes | 바이트 배열의 원샷 SHA-512 해시입니다 |
Sha384Bytes | 바이트 배열의 원샷 SHA-384 해시입니다 |
| Type | Description |
|---|---|
TSha512Digest | 64바이트 SHA-512 다이제스트 |
TSha384Digest | 48바이트 SHA-384 다이제스트 |
TSha512Context | SHA-512와 SHA-384가 공유하는 증분 컨텍스트 |
Sha384Init가 설정한 Is384 플래그와 함께 TSha512Context를 재사용합니다Sha...를 사용하며 FPdfSha256의 모두 대문자 SHA256... 이름과 다릅니다