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 구멍 다음의 첫 바이트입니다 |
| SecondLength | SecondStart부터 해시되는 반개 구간 [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