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
| Input | Stream, der skal hashes; funktionen seeker før hvert segment, så streamens position ved kald ikke betyder noget |
|---|---|
| FirstLength | Antal bytes hashet fra streamposition 0, det halvåbne interval [0, FirstLength); 0 udelader det første segment |
| SecondStart | Streamforskydning, hvor det andet hashede segment begynder, normalt den første byte efter signaturens /Contents-hul |
| SecondLength | Antal 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