SHA256StreamRange

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 SHA256StreamRange(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-256 sažetak od 32 bajta 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_SHA_256 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

Primer

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

Vidi takođe

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