TSha3Algorithm = (s3aSha3_256, s3aSha3_384, s3aSha3_512, s3aShake256);
TSha3Digest256 = array[0..31] of Byte;
TSha3Digest384 = array[0..47] of Byte;
TSha3Digest512 = array[0..63] of Byte;
procedure Sha3_256Init(out Ctx: TSha3Context);
procedure Sha3_384Init(out Ctx: TSha3Context);
procedure Sha3_512Init(out Ctx: TSha3Context);
procedure Shake256Init(out Ctx: TSha3Context);
procedure Sha3Update(var Ctx: TSha3Context; const Data; DataLength: Integer);
procedure Sha3_256Final(var Ctx: TSha3Context; out Digest: TSha3Digest256);
procedure Sha3_384Final(var Ctx: TSha3Context; out Digest: TSha3Digest384);
procedure Sha3_512Final(var Ctx: TSha3Context; out Digest: TSha3Digest512);
procedure Shake256Final(var Ctx: TSha3Context);
procedure Shake256Squeeze(var Ctx: TSha3Context; out Output; OutputLength: Integer);
function Shake256Bytes(const Data: TBytes; OutputLength: Integer): TBytes;
FPdfSha3 mengimplementasikan keluarga SHA-3 FIPS 202 yang dibutuhkan oleh ISO/TS 32001 dan ekstensi kriptografi PDF 2.x terkait tanpa memerlukan penyedia kripto sistem operasi
Hash output tetap berbagi satu tipe konteks dan finalizer yang diperiksa algoritmanya, sementara SHAKE256 memisahkan penyerapan akhir dari output sehingga pemanggil dapat meminta panjang apa pun melalui satu atau beberapa panggilan Shake256Squeeze
| Function | Description |
|---|---|
Sha3_256Init, Sha3_384Init, Sha3_512Init | Initialize a fixed-output SHA-3 context |
Shake256Init | Initializes a SHAKE256 extendable-output context |
Sha3Update | Absorbs an untyped input buffer into any initialized context |
Sha3_256Final, Sha3_384Final, Sha3_512Final | Finalize a matching context and return its fixed-length digest |
Shake256Final | Finalizes SHAKE256 absorption without consuming output |
Shake256Squeeze | Continues SHAKE256 output from the current offset across repeated calls |
Sha3_256Bytes, Sha3_384Bytes, Sha3_512Bytes | Hash a byte array in one call |
Shake256Bytes | Returns a caller-selected number of SHAKE256 output bytes |
Sha3_256Hex, Sha3_384Hex, Sha3_512Hex | Convert a fixed digest to lowercase hexadecimal text |
| Type | Description |
|---|---|
TSha3Algorithm | Identifies the algorithm selected in a context |
TSha3Digest256, TSha3Digest384, TSha3Digest512 | Fixed-size digest buffers |
TSha3Context | Incremental sponge state, rate buffer, algorithm, and squeeze offset |
ESha3Error | Reports invalid lengths, lifecycle misuse, or mismatched finalizers |
Sha3Update dan pakai hanya finalizer output tetap yang bersesuaianShake256Final, panggilan Shake256Squeeze berulang melanjutkan stream output yang sama alih-alih memulainya ulangESha3Error