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