SHA1StreamRange
Kriptografija
Opis
AnsiString
/ByteRangeHeširani ulaz je opseg bajtova [0, FirstLength) praćen opsegom bajtova [SecondStart, SecondStart + SecondLength), što odgovara rasporedu /Contents PDF potpisa u kojem rupa
Sintaksa
Delphi
Function SHA1StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Parametri
| Input | Tok koji se hešira; funkcija pozicionira tok pre svakog segmenta, pa položaj toka pri ulazu nije bitan |
|---|---|
| FirstLength | Broj bajtova heširanih od pozicije toka 0, poluotvoren opseg [0, FirstLength); 0 preskače prvi segment |
| SecondStart | Pomak toka na kojem počinje drugi heširani segment, obično prvi bajt posle rupe /Contents potpisa |
| SecondLength | Broj bajtova heširanih od SecondStart, poluotvoren opseg [SecondStart, SecondStart + SecondLength); 0 preskače drugi segment |
Povratne vrednosti
Sirovi SHA-1 sažetak od 20 bajtova upakovan u AnsiString, ili prazna niska kada CryptoAPI dobavljač ili heš objekat ne mogu biti kreirani ili kada heš korak ne uspe |
Napomene
Delegira na zajednički pomoćnik SHAStreamRange, koji pribavlja CryptoAPI kontekst PROV_RSA_AES, hešira CALG_SHA1 u blokovima do 8000 bajtova i ignoriše vraćeni broj svakog čitanja toka; negativne vrednosti opsega ovaj pomoćnik ne odbija, za razliku od SHA-3 varijanti za tokove, a SHA-1 se zadržava radi kompatibilnosti sa zastarelim potpisima
Primer
Digest:= SHA1StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Vidi takođe
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange