SHA1StreamRange

Kryptografi

Beskrivelse

AnsiString

/ByteRangeDet hashede input er byteintervallet [0, FirstLength) efterfulgt af byteintervallet [SecondStart, SecondStart + SecondLength), hvilket matcher PDF-signaturens /Contents-layout, hvor

Syntaks

Delphi

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

Parametre

InputStream, der skal hashes; funktionen seeker før hvert segment, så streamens position ved kald ikke betyder noget
FirstLengthAntal bytes hashet fra streamposition 0, det halvåbne interval [0, FirstLength); 0 udelader det første segment
SecondStartStreamforskydning, hvor det andet hashede segment begynder, normalt den første byte efter signaturens /Contents-hul
SecondLengthAntal bytes hashet fra SecondStart, det halvåbne interval [SecondStart, SecondStart + SecondLength); 0 udelader det andet segment

Returværdier

Den rå 20-byte SHA-1-digest pakket ind i en AnsiString eller en tom streng, når CryptoAPI-provideren eller hash-objektet ikke kan oprettes, eller et hash-trin fejler

Bemærkninger

Delegerer til den delte SHAStreamRange-hjælper, som anskaffer en PROV_RSA_AES-CryptoAPI-kontekst, hasher CALG_SHA1 i blokke på op til 8000 bytes og ignorerer antallet returneret af hver streamlæsning; negative intervalværdier afvises ikke af denne hjælper, i modsætning til SHA-3-streamvarianterne, og SHA-1 bevares af hensyn til legacy-signaturinteroperabilitet

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