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 จะข้ามส่วนที่สอง |
ค่าที่ส่งกลับ
ค่าย่อย SHA-1 ดิบขนาด 20 ไบต์ที่แพ็กอยู่ใน AnsiString หรือสตริงว่างเมื่อสร้าง CryptoAPI provider หรือ hash object ไม่ได้ หรือขั้นตอนแฮชใดล้มเหลว |
หมายเหตุ
ส่งงานต่อให้ตัวช่วย SHAStreamRange ที่ใช้ร่วมกัน ซึ่งขอ context แบบ PROV_RSA_AES ของ CryptoAPI, แฮชด้วย 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