SHA1StreamRange

Kriptografi

Deskripsi

AnsiString

/ByteRangeMasukan yang di-hash adalah rentang byte [0, FirstLength) diikuti rentang byte [SecondStart, SecondStart + SecondLength), sesuai tata letak /Contents tanda tangan PDF di mana lubang

Sintaks

Delphi

Function SHA1StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;

Parameter

InputStream yang akan di-hash; fungsi melakukan seek sebelum setiap segmen, sehingga posisi stream saat masuk tidak berpengaruh
FirstLengthJumlah byte yang di-hash dari posisi stream 0, rentang setengah terbuka [0, FirstLength); 0 melewati segmen pertama
SecondStartOffset stream tempat segmen kedua yang di-hash dimulai, biasanya byte pertama setelah lubang /Contents tanda tangan
SecondLengthJumlah byte yang di-hash dari SecondStart, rentang setengah terbuka [SecondStart, SecondStart + SecondLength); 0 melewati segmen kedua

Nilai kembalian

Digest SHA-1 mentah 20-byte yang dikemas ke dalam AnsiString, atau string kosong ketika provider CryptoAPI atau objek hash tidak dapat dibuat atau suatu langkah hash gagal

Catatan

Mendelegasikan ke helper SHAStreamRange bersama, yang memperoleh konteks CryptoAPI PROV_RSA_AES, meng-hash CALG_SHA1 dalam potongan hingga 8000 byte, dan mengabaikan jumlah kembalian setiap pembacaan stream; nilai rentang negatif tidak ditolak oleh helper ini, berbeda dari varian stream SHA-3, dan SHA-1 dipertahankan untuk interoperabilitas tanda tangan lama

Contoh

Digest:= SHA1StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);

Lihat juga

SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange