SHA3_256StreamRange
การเข้ารหัสลับ
คำอธิบาย
AnsiString
/ByteRangeอินพุตที่ถูกดูดซับคือช่วงไบต์ [0, FirstLength) ตามด้วยช่วงไบต์ [SecondStart, SecondStart + SecondLength) ซึ่งสอดคล้องกับโครงสร้าง /Contents ของลายเซ็น PDF ที่ต้องข้ามช่องว่างของ
ไวยากรณ์
Delphi
Function SHA3_256StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;พารามิเตอร์
| Input | สตรีมที่จะแฮช ฟังก์ชันจะ seek ก่อนแต่ละส่วน ตำแหน่งของสตรีมตอนเรียกจึงไม่มีผล และสตรีมที่เป็น nil จะให้สตริงว่าง |
|---|---|
| FirstLength | จำนวนไบต์ที่ดูดซับจากตำแหน่ง 0 ของสตรีม คือช่วงครึ่งเปิด [0, FirstLength), ค่า 0 จะข้ามส่วนแรก และค่าติดลบจะยกเลิกพร้อมสตริงว่าง |
| SecondStart | ออฟเซ็ตในสตรีมที่ส่วนที่สองที่ถูกดูดซับเริ่มต้น ปกติคือไบต์แรกหลังช่องว่าง /Contents ของลายเซ็น ค่าติดลบจะยกเลิกพร้อมสตริงว่าง |
| SecondLength | จำนวนไบต์ที่ดูดซับจาก SecondStart คือช่วงครึ่งเปิด [SecondStart, SecondStart + SecondLength), ค่า 0 จะข้ามส่วนที่สอง และค่าติดลบจะยกเลิกพร้อมสตริงว่าง |
ค่าที่ส่งกลับ
ค่าย่อย SHA3-256 ดิบขนาด 32 ไบต์ที่แพ็กอยู่ใน AnsiString หรือสตริงว่างเมื่อสตรีมเป็น nil, ค่าช่วงใดติดลบ หรือการอ่านได้ไบต์น้อยกว่าที่ร้องขอ |
หมายเหตุ
ทำงานด้วยการใช้งาน Keccak ตาม FIPS 202 ที่มีในตัว โดยใช้คำต่อท้ายโดเมน SHA-3 และอัตรา 136 ไบต์ ดูดซับเป็นก้อนละ 64 KB การอ่านแต่ละครั้งจะถูกตรวจกับจำนวนที่ร้องขอ สตรีมที่ถูกตัดขาดจึงยกเลิกได้อย่างสะอาด ซึ่งตัวแปรสตรีมของ SHA-2 ไม่ได้ทำ
ตัวอย่าง
Digest:= SHA3_256StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);ดูเพิ่มเติม
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA1StreamRange, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange