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 |
|---|---|
| FirstLength | Akış 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 |
| SecondLength | SecondStart'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