SHA3_384StreamRange
Criptografia
Descrição
AnsiString
/ByteRangeA entrada absorvida é o intervalo de bytes [0, FirstLength) seguido pelo intervalo de bytes [SecondStart, SecondStart + SecondLength), correspondendo ao layout /Contents da assinatura PDF em que o buraco de
Sintaxe
Delphi
Function SHA3_384StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Parâmetros
| Input | Stream a ser submetido a hash; a função posiciona o cursor antes de cada segmento, de modo que a posição do stream na entrada não importa, e um stream nil produz uma string vazia |
|---|---|
| FirstLength | Quantidade de bytes absorvida da posição 0 do stream, o intervalo semiaberto [0, FirstLength); 0 ignora o primeiro segmento e um valor negativo aborta com uma string vazia |
| SecondStart | Offset do stream onde o segundo segmento absorvido começa, normalmente o primeiro byte após o buraco de /Contents da assinatura; um valor negativo aborta com uma string vazia |
| SecondLength | Quantidade de bytes absorvida a partir de SecondStart, o intervalo semiaberto [SecondStart, SecondStart + SecondLength); 0 ignora o segundo segmento e um valor negativo aborta com uma string vazia |
Valores de retorno
O digest SHA3-384 bruto de 48 bytes empacotado em um AnsiString, ou uma string vazia quando o stream é nil, qualquer valor de intervalo é negativo ou uma leitura retorna menos bytes do que o solicitado |
Observações
Executa a implementação Keccak do FIPS 202 interna com o sufixo de domínio SHA-3 e uma taxa de 104 bytes, absorvendo em blocos de 64 KB; cada leitura é verificada contra a contagem solicitada, de modo que um stream truncado aborta de forma limpa, o que as variantes de stream SHA-2 não fazem
Exemplo
Digest:= SHA3_384StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Consulte também
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA1StreamRange, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange