SHA1StreamRange

Kriptografija

Aprašymas

AnsiString

/ByteRangeMaišoma įvestis yra baitų intervalas [0, FirstLength), po kurio seka baitų intervalas [SecondStart, SecondStart + SecondLength), atitinkantis PDF parašo /Contents išdėstymą, kuriame

Sintaksė

Delphi

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

Parametrai

InputMaišytinas srautas; funkcija prieš kiekvieną segmentą atlieka pozicionavimą, todėl srauto pozicija įvedimo metu nesvarbi
FirstLengthBaitų, maišomų nuo srauto pozicijos 0, pusiau atvirojo intervalo [0, FirstLength), skaičius; 0 praleidžia pirmąjį segmentą
SecondStartSrauto poslinkis, kuriame prasideda antrasis maišomasis segmentas, paprastai pirmasis baitas po parašo /Contents skylės
SecondLengthBaitų, maišomų nuo SecondStart, pusiau atvirojo intervalo [SecondStart, SecondStart + SecondLength), skaičius; 0 praleidžia antrąjį segmentą

Grąžinamos reikšmės

Neapdorotoji 20 baitų SHA-1 santrauka, supakuota į AnsiString, arba tuščioji eilutė, kai nepavyksta sukurti CryptoAPI tiekėjo arba maišos objekto arba nepavyksta maišos žingsnis

Pastabos

Deleguoja bendrajai SHAStreamRange pagelbiklei, kuri įgyja PROV_RSA_AES CryptoAPI kontekstą, maišo CALG_SHA1 iki 8000 baitų segmentais ir ignoruoja kiekvieno srauto skaitymo grąžinamąjį skaičių; neigiamosios intervalo reikšmės šios pagelbiklės neatmetamos, kitaip nei SHA-3 srauto variantų, o SHA-1 išlaikytas suderinamumui su senaisiais parašais

Pavyzdys

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

Taip pat žr.

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