SHA1StreamRange

Kriptografi

Açıklama

AnsiString

/ByteRange içine paketlerÖzetlenen girdi, [0, FirstLength) bayt aralığını ve ardından [SecondStart, SecondStart + SecondLength) bayt aralığını içerir; bu, PDF imzasının /Contents düzeniyle eşleşir ve

Sözdizimi

Delphi

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

Parametreler

InputÖzetlenecek akış; işlev her segmentten önce konumlanır, bu yüzden girişteki akış konumu önemli değildir
FirstLengthAkış 0 konumundan özetlenen bayt sayısı; [0, FirstLength) yarı açık aralığı. 0 ilk segmenti atlar
SecondStartİkinci özetlenen segmentin başladığı akış uzaklığı; normalde imza /Contents boşluğundaki ilk bayt
SecondLengthSecondStart'tan özetlenen bayt sayısı; [SecondStart, SecondStart + SecondLength) yarı açık aralığı. 0 ikinci segmenti atlar

Dönüş değerleri

Bir AnsiString içine paketlenmiş 20 baytlık ham SHA-1 özeti; CryptoAPI sağlayıcısı veya karma nesnesi oluşturulamadığında ya da bir özet adımı başarısız olduğunda boş dize

Açıklamalar

Paylaşılan SHAStreamRange yardımcısına devreder; bu yardımcı bir PROV_RSA_AES CryptoAPI bağlamı edinir, CALG_SHA1 değerini en fazla 8000 baytlık parçalarla özetler ve her akış okumasının döndürdüğü sayıyı yok sayar. Negatif aralık değerleri bu yardımcı tarafından reddedilmez (SHA-3 akış varyantlarının aksine) ve SHA-1, eski imza birlikte çalışabilirliği için korunur

Örnek

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

Ayrıca bkz.

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