SHA3_384StreamRange

Mật mã học

Mô tả

AnsiString

/ByteRangeĐầu vào được hấp thụ là khoảng byte [0, FirstLength) theo sau bởi khoảng byte [SecondStart, SecondStart + SecondLength), khớp bố cục /Contents chữ ký PDF trong đó lỗ

Cú pháp

Delphi

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

Tham số

InputLuồng cần băm; hàm seek trước mỗi đoạn, nên vị trí luồng khi vào không quan trọng, và luồng nil cho ra chuỗi rỗng
FirstLengthSố byte được hấp thụ từ vị trí luồng 0, khoảng nửa mở [0, FirstLength); 0 bỏ qua đoạn đầu tiên và giá trị âm sẽ dừng với chuỗi rỗng
SecondStartKhoảng lệch luồng nơi đoạn hấp thụ thứ hai bắt đầu, thường là byte đầu tiên sau lỗ /Contents chữ ký; giá trị âm sẽ dừng với chuỗi rỗng
SecondLengthSố byte được hấp thụ từ SecondStart, khoảng nửa mở [SecondStart, SecondStart + SecondLength); 0 bỏ qua đoạn thứ hai và giá trị âm sẽ dừng với chuỗi rỗng

Giá trị trả về

Digest SHA3-384 thô 48 byte được đóng gói vào một AnsiString, hoặc chuỗi rỗng khi luồng là nil, bất kỳ giá trị khoảng nào âm, hoặc một lần đọc trả về ít byte hơn yêu cầu

Ghi chú

Chạy triển khai Keccak FIPS 202 tích hợp sẵn với hậu tố miền SHA-3 và tỷ lệ 104 byte, hấp thụ theo khối 64 KB; mỗi lần đọc được đối chiếu với số đếm được yêu cầu nên một luồng bị cắt cụt dừng sạch sẽ, điều mà các biến thể luồng SHA-2 không làm

Ví dụ

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

Xem thêm

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