SHA1StreamRange
رمزنگاری
توضیحات
AnsiString
/ByteRange بستهبندی میکندورودی هششده محدوده بایتی [0, FirstLength) و سپس محدوده بایتی [SecondStart, SecondStart + SecondLength) است، مطابق چیدمان /Contents امضای PDF که در آن حفره
نحو
Delphi
Function SHA1StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;پارامترها
| Input | جریان برای هش؛ تابع پیش از هر قطعه seek میکند، پس موقعیت جریان در ورود اهمیتی ندارد |
|---|---|
| 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