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

InputTok koji se hešira; funkcija pozicionira tok pre svakog segmenta, pa položaj toka pri ulazu nije bitan
FirstLengthBroj bajtova heširanih od pozicije toka 0, poluotvoren opseg [0, FirstLength); 0 preskače prvi segment
SecondStartPomak toka na kojem počinje drugi heširani segment, obično prvi bajt posle rupe /Contents potpisa
SecondLengthBroj 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