SHA3_512StreamRange
Kriptográfia
Leírás
AnsiString
/ByteRange típusba csomagoljaA felszívott bemenet a [0, FirstLength) bájttartomány, majd a [SecondStart, SecondStart + SecondLength) bájttartomány, ami megfelel a PDF /Contents aláírás-elrendezésnek, amelyben a
Szintaxis
Delphi
Function SHA3_512StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Paraméterek
| Input | A kivonatolandó adatfolyam; a függvény minden szegmens előtt pozicionál, így a belépéskori adatfolyam-pozíció nem számít, a nil adatfolyam pedig üres karakterláncot ad |
|---|---|
| FirstLength | A 0 adatfolyam-pozíciótól felszívott bájtok száma, azaz a [0, FirstLength) félnyílt tartomány; 0 esetén az első szegmens kihagyásra kerül, negatív érték esetén a feldolgozás üres karakterlánccal szakad meg |
| SecondStart | Az adatfolyam-offset, ahol a második felszívott szegmens kezdődik, rendszerint az első bájt az aláírás /Contents lyuka után; negatív érték esetén a feldolgozás üres karakterlánccal szakad meg |
| SecondLength | A SecondStart-tól felszívott bájtok száma, azaz a [SecondStart, SecondStart + SecondLength) félnyílt tartomány; 0 esetén a második szegmens kihagyásra kerül, negatív érték esetén a feldolgozás üres karakterlánccal szakad meg |
Visszatérési értékek
A nyers, 64 bájtos SHA3-512 kivonat AnsiString típusba csomagolva, illetve üres karakterlánc, ha az adatfolyam nil, bármely tartományérték negatív, vagy egy olvasás a kértnél kevesebb bájtot ad vissza |
Megjegyzések
A beépített FIPS 202 Keccak megvalósítást futtatja a SHA-3 tartományutótaggal és 72 bájtos rate értékkel, 64 KB-os blokkokban szívja fel a bemenetet; minden olvasás ellenőrzésre kerül a kért darabszámhoz viszonyítva, így egy csonkolt adatfolyam tiszta módon megszakad, amit a SHA-2 adatfolyam-változatok nem tesznek meg
Példa
Digest:= SHA3_512StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Lásd még
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA1StreamRange, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHAKE256ByteArray, SHAKE256StreamRange