SHA3_256StreamRange

Kryptographie

Beschreibung

AnsiString

/ByteRangeDer absorbierte Eingabebestandteil ist der Bytebereich [0, FirstLength) gefolgt vom Bytebereich [SecondStart, SecondStart + SecondLength), passend zum /Contents-Layout der PDF-Signatur, bei dem das

Syntax

Delphi

Function SHA3_256StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;

Parameter

InputZu hashender Stream; die Funktion positioniert vor jedem Segment neu, sodass die Streamposition beim Eintritt unerheblich ist, und ein nil-Stream liefert eine leere Zeichenkette
FirstLengthAnzahl der ab Streamposition 0 absorbierten Bytes, der halboffene Bereich [0, FirstLength); 0 überspringt das erste Segment, und ein negativer Wert bricht mit einer leeren Zeichenkette ab
SecondStartStream-Offset, an dem das zweite absorbierte Segment beginnt, normalerweise das erste Byte nach dem /Contents-Loch der Signatur; ein negativer Wert bricht mit einer leeren Zeichenkette ab
SecondLengthAnzahl der ab SecondStart absorbierten Bytes, der halboffene Bereich [SecondStart, SecondStart + SecondLength); 0 überspringt das zweite Segment, und ein negativer Wert bricht mit einer leeren Zeichenkette ab

Rückgabewerte

Der rohe 32-Byte-SHA3-256-Digest gepackt in einen AnsiString, oder eine leere Zeichenkette, wenn der Stream nil ist, ein Bereichswert negativ ist oder ein Lesevorgang weniger Bytes zurückgibt als angefordert

Hinweise

Führt die integrierte FIPS-202-Keccak-Implementierung mit dem SHA-3-Domänensuffix und einer Rate von 136 Bytes aus und absorbiert in 64-KB-Blöcken; jeder Lesevorgang wird gegen die angeforderte Anzahl verifiziert, sodass ein abgeschnittener Stream sauber abbricht, was die SHA-2-Stream-Varianten nicht tun

Beispiel

Digest:= SHA3_256StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);

Siehe auch

SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA1StreamRange, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange