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