SHA1StreamRange
Criptografia
Descrição
AnsiString
/ByteRangeA entrada processada é o intervalo de bytes [0, FirstLength) seguido do intervalo de bytes [SecondStart, SecondStart + SecondLength), correspondendo à disposição /Contents de assinaturas PDF em que o buraco de
Sintaxe
Delphi
Function SHA1StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Parâmetros
| Input | Fluxo a processar; a função posiciona-se antes de cada segmento, pelo que a posição do fluxo à entrada não interessa |
|---|---|
| FirstLength | Número de bytes processados a partir da posição 0 do fluxo, o intervalo semiaberto [0, FirstLength); 0 ignora o primeiro segmento |
| SecondStart | Desvio no fluxo onde começa o segundo segmento processado, normalmente o primeiro byte após o buraco de /Contents da assinatura |
| SecondLength | Número de bytes processados a partir de SecondStart, o intervalo semiaberto [SecondStart, SecondStart + SecondLength); 0 ignora o segundo segmento |
Valores devolvidos
O resumo SHA-1 bruto de 20 bytes empacotado num AnsiString, ou uma cadeia vazia quando o fornecedor CryptoAPI ou o objeto de hash não podem ser criados ou um passo de hash falha |
Observações
Delega no auxiliar partilhado SHAStreamRange, que adquire um contexto CryptoAPI PROV_RSA_AES, processa CALG_SHA1 em blocos de até 8000 bytes e ignora a contagem devolvida por cada leitura do fluxo; os valores de intervalo negativos não são recusados por este auxiliar, ao contrário das variantes de fluxo SHA-3, e o SHA-1 é mantido para interoperabilidade com assinaturas legadas
Exemplo
Digest:= SHA1StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Consulte também
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange