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 се задържа за съвместимост на legacy подписи
Пример
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