SHA1StreamRange

Kriptográfia

Leírás

AnsiString

/ByteRange típusba csomagoljaA kivonatolt 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 SHA1StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;

Paraméterek

InputA kivonatolandó adatfolyam; a függvény minden szegmens előtt pozicionál, így a belépéskori adatfolyam-pozíció nem számít
FirstLengthA 0 adatfolyam-pozíciótól kivonatolt bájtok száma, azaz a [0, FirstLength) félnyílt tartomány; 0 esetén az első szegmens kihagyásra kerül
SecondStartAz adatfolyam-offset, ahol a második kivonatolt szegmens kezdődik, rendszerint az első bájt az aláírás /Contents lyuka után
SecondLengthA SecondStart-tól kivonatolt 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

Visszatérési értékek

A nyers, 20 bájtos SHA-1 kivonat AnsiString típusba csomagolva, illetve üres karakterlánc, ha a CryptoAPI szolgáltató vagy a kivonatobjektum nem hozható létre, vagy egy kivonatolási lépés meghiúsul

Megjegyzések

A megosztott SHAStreamRange segédfüggvényre épül, amely PROV_RSA_AES CryptoAPI kontextust szerez, CALG_SHA1 kivonatolást végez legfeljebb 8000 bájtos blokkokban, és figyelmen kívül hagyja az egyes adatfolyam-olvasások visszatérési darabszámát; a negatív tartományértékeket ez a segédfüggvény a SHA-3 adatfolyam-változatokkal ellentétben nem utasítja el, a SHA-1 pedig örökölt aláíráskompatibilitás miatt megmarad

Példa

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

Lásd még

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