SHA1StreamRange
Криптографія
Опис
AnsiString
/ByteRangeХешований вхід — це діапазон байтів [0, FirstLength), за яким слідує діапазон [SecondStart, SecondStart + SecondLength), що відповідає розкладці /Contents підпису PDF, де діру
Синтаксис
Delphi
Function SHA1StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Параметри
| Input | Потік для хешування; функція позиціонується перед кожним сегментом, тож позиція потоку на вході не має значення |
|---|---|
| FirstLength | Кількість байтів, хешованих від позиції 0 потоку — напіввідкритий діапазон [0, FirstLength); 0 пропускає перший сегмент |
| SecondStart | Зміщення потоку, де починається другий хешований сегмент; зазвичай перший байт після діри /Contents підпису |
| SecondLength | Кількість байтів, хешованих від SecondStart — напіввідкритий діапазон [SecondStart, SecondStart + SecondLength); 0 пропускає другий сегмент |
Значення, що повертаються
Сирий 20-байтовий дайджест SHA-1, упакований у AnsiString, або порожній рядок, коли постачальника CryptoAPI чи об'єкт хешування не вдалося створити або крок хешування зазнав невдачі |
Зауваження
Делегує спільному помічнику SHAStreamRange, який отримує контекст CryptoAPI PROV_RSA_AES, хешує CALG_SHA1 фрагментами до 8000 байтів та ігнорує кількість, повернену кожним читанням потоку; цей помічник не відхиляє від'ємні значення діапазонів, на відміну від варіантів SHA-3, а SHA-1 збережено для сумісності з успадкованими підписами
Приклад
Digest:= SHA1StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Див. також
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange