SHA1StreamRange

Kryptografi

Beskrivelse

AnsiString

/ByteRangeDen hashede inngangen er byteområdet [0, FirstLength) etterfulgt av byteområdet [SecondStart, SecondStart + SecondLength), i samsvar med PDF-signaturens /Contents-oppsett der

Syntaks

Delphi

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

Parametere

InputStrømmen som skal hashes; funksjonen søker før hvert segment, så strømposisjonen ved inngang er uten betydning
FirstLengthAntall byte som hashes fra strømposisjon 0, det halvåpne området [0, FirstLength); 0 hopper over det første segmentet
SecondStartStrømforskyvning der det andre hashede segmentet begynner, normalt den første byten etter signaturens /Contents-hull
SecondLengthAntall byte som hashes fra SecondStart, det halvåpne området [SecondStart, SecondStart + SecondLength); 0 hopper over det andre segmentet

Returverdier

Den rå 20 byte store SHA-1-digesten pakket inn i en AnsiString, eller en tom streng når CryptoAPI-leverandøren eller hashobjektet ikke kan opprettes, eller et hashtrinn mislykkes

Merknader

Delegerer til den delte SHAStreamRange-hjelperen, som anskaffer en PROV_RSA_AES CryptoAPI-kontekst, hasher CALG_SHA1 i biter på opptil 8000 byte og ignorerer antallet som returneres fra hver strømlesing; negative områdeverdier avvises ikke av denne hjelperen, i motsetning til SHA-3-strømvariantene, og SHA-1 beholdes for samspill med eldre signaturer

Eksempel

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

Se også

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