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)؛ والصفر يتخطى المقطع الأول |
| SecondStart | إزاحة التيار التي يبدأ عندها المقطع المجزَّأ الثاني، وهي عادة أول بايت بعد فراغ /Contents في التوقيع |
| SecondLength | عدد البايتات المجزَّأة من SecondStart، وهو المدى نصف المفتوح [SecondStart, SecondStart + SecondLength)؛ والصفر يتخطى المقطع الثاني |
قيم الإرجاع
ملخص SHA-1 الخام ذو 20 بايتًا محزومًا في 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