SHA1StreamRange

암호학

설명

AnsiString

/ByteRange에 담습니다해시되는 입력은 [0, FirstLength) 바이트 범위에 이어 [SecondStart, SecondStart + SecondLength) 바이트 범위이며, PDF 서명 /Contents 레이아웃과 일치하고 여기서

구문

Delphi

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

매개변수

Input해시할 스트림입니다. 함수는 각 세그먼트 전에 탐색하므로 진입 시 스트림 위치는 중요하지 않습니다
FirstLength스트림 위치 0부터 해시되는 반개 구간 [0, FirstLength)의 바이트 수이며, 0이면 첫 번째 세그먼트를 건너뜁니다
SecondStart두 번째 해시 세그먼트가 시작되는 스트림 오프셋으로, 일반적으로 서명 /Contents 구멍 다음의 첫 바이트입니다
SecondLengthSecondStart부터 해시되는 반개 구간 [SecondStart, SecondStart + SecondLength)의 바이트 수이며, 0이면 두 번째 세그먼트를 건너뜁니다

반환값

AnsiString에 담긴 원시 20바이트 SHA-1 다이제스트이며, CryptoAPI 공급자나 해시 객체를 만들 수 없거나 해시 단계가 실패하면 빈 문자열입니다

참고

공유 SHAStreamRange 헬퍼에 위임하며, 이 헬퍼는 PROV_RSA_AES CryptoAPI 컨텍스트를 얻고 최대 8000바이트 청크로 CALG_SHA1을 해시하며 각 스트림 읽기의 반환 개수는 무시합니다. 이 헬퍼는 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