SHA3_384StreamRange

Kryptografia

Popis

AnsiString

/ByteRangeAbsorbovaný vstup tvorí rozsah bajtov [0, FirstLength) nasledovaný rozsahom bajtov [SecondStart, SecondStart + SecondLength), čo zodpovedá rozloženiu /Contents podpisu PDF, kde je potrebné preskočiť dieru

Syntax

Delphi

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

Parametre

InputPrúd na hashovanie; funkcia sa pred každým segmentom presunie, takže pozícia prúdu na vstupe nezáleží, a nilový prúd dáva prázdny reťazec
FirstLengthPočet bajtov absorbovaných od pozície 0 prúdu, polootvorený rozsah [0, FirstLength); 0 vynechá prvý segment a záporná hodnota preruší s prázdnym reťazcom
SecondStartPosun v prúde, kde začína druhý absorbovaný segment, zvyčajne prvý bajt za dierou /Contents podpisu; záporná hodnota preruší s prázdnym reťazcom
SecondLengthPočet bajtov absorbovaných od SecondStart, polootvorený rozsah [SecondStart, SecondStart + SecondLength); 0 vynechá druhý segment a záporná hodnota preruší s prázdnym reťazcom

Návratové hodnoty

Surový 48-bajtový otlačok SHA3-384 zabalený do AnsiString, alebo prázdny reťazec, keď je prúd nil, ktorákoľvek hodnota rozsahu je záporná alebo čítanie vráti menej bajtov, ako bolo požadované

Poznámky

Používa vstavanú implementáciu Keccak podľa FIPS 202 s príponou domény SHA-3 a rýchlosťou 104 bajtov a absorbuje v blokoch po 64 KB; každé čítanie sa overí proti požadovanému počtu, takže skrátený prúd sa čisto preruší, čo SHA-2 varianty pre prúdy nerobia

Príklad

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

Pozri tiež

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