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
| Input | Prú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 |
|---|---|
| FirstLength | Poč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 |
| SecondStart | Posun 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 |
| SecondLength | Poč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