SHA1StreamRange
Kryptografia
Opis
AnsiString
/ByteRangeHaszowanym wejściem jest zakres bajtów [0, FirstLength), po którym następuje zakres bajtów [SecondStart, SecondStart + SecondLength), zgodnie z układem /Contents podpisu PDF, w którym lukę
Składnia
Delphi
Function SHA1StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Parametry
| Input | Strumień do zhaszowania; funkcja pozycjonuje przed każdym segmentem, więc pozycja strumienia wejściowego nie ma znaczenia |
|---|---|
| FirstLength | Liczba bajtów haszowanych od pozycji 0 strumienia, z półotwartego zakresu [0, FirstLength); 0 pomija pierwszy segment |
| SecondStart | Przesunięcie w strumieniu, od którego zaczyna się drugi haszowany segment, zwykle pierwszy bajt po luce /Contents podpisu |
| SecondLength | Liczba bajtów haszowanych od SecondStart, z półotwartego zakresu [SecondStart, SecondStart + SecondLength); 0 pomija drugi segment |
Wartości zwracane
Surowy 20-bajtowy skrót SHA-1 spakowany do AnsiString albo pusty łańcuch, gdy nie można utworzyć dostawcy CryptoAPI ani obiektu skrótu albo gdy krok haszowania zawiedzie |
Uwagi
Deleguje do wspólnego pomocnika SHAStreamRange, który pozyskuje kontekst CryptoAPI PROV_RSA_AES, haszuje CALG_SHA1 w porcjach do 8000 bajtów i ignoruje liczbę zwracaną przez każdy odczyt strumienia; ujemne wartości zakresu nie są przez ten pomocnik odrzucane, w przeciwieństwie do wariantów strumieniowych SHA-3, a SHA-1 jest zachowywany dla współpracy ze starszymi podpisami
Przykład
Digest:= SHA1StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Zobacz również
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange