SHA3_256StreamRange
Kryptografi
Beskrivelse
AnsiString
/ByteRangeDet absorberede input er byteintervallet [0, FirstLength) efterfulgt af byteintervallet [SecondStart, SecondStart + SecondLength), hvilket matcher PDF-signaturens /Contents-layout, hvor
Syntaks
Delphi
Function SHA3_256StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Parametre
| Input | Stream, der skal hashes; funktionen seeker før hvert segment, så streamens position ved kald ikke betyder noget, og en nil-stream giver en tom streng |
|---|---|
| FirstLength | Antal bytes absorberet fra streamposition 0, det halvåbne interval [0, FirstLength); 0 udelader det første segment, og en negativ værdi afbryder med en tom streng |
| SecondStart | Streamforskydning, hvor det andet absorberede segment begynder, normalt den første byte efter signaturens /Contents-hul; en negativ værdi afbryder med en tom streng |
| SecondLength | Antal bytes absorberet fra SecondStart, det halvåbne interval [SecondStart, SecondStart + SecondLength); 0 udelader det andet segment, og en negativ værdi afbryder med en tom streng |
Returværdier
Den rå 32-byte SHA3-256-digest pakket ind i en AnsiString eller en tom streng, når streamen er nil, en intervalværdi er negativ, eller en læsning returnerer færre bytes end ønsket |
Bemærkninger
Kører den indbyggede FIPS 202 Keccak-implementering med SHA-3-domænesuffikset og en rate på 136 bytes og absorberer i 64 KB-blokke; hver læsning verificeres mod det ønskede antal, så en afkortet stream afbryder rent, hvilket SHA-2-streamvarianterne ikke gør
Eksempel
Digest:= SHA3_256StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Se også
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA1StreamRange, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange