SHA3_384StreamRange

Criptografia

Descrição

AnsiString

/ByteRangeA entrada absorvida é 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 SHA3_384StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;

Parâmetros

InputFluxo a processar; a função posiciona-se antes de cada segmento, pelo que a posição do fluxo à entrada não interessa, e um fluxo nil produz uma cadeia vazia
FirstLengthNúmero de bytes absorvidos a partir da posição 0 do fluxo, o intervalo semiaberto [0, FirstLength); 0 ignora o primeiro segmento e um valor negativo aborta com uma cadeia vazia
SecondStartDesvio no fluxo onde começa o segundo segmento absorvido, normalmente o primeiro byte após o buraco de /Contents da assinatura; um valor negativo aborta com uma cadeia vazia
SecondLengthNúmero de bytes absorvidos a partir de SecondStart, o intervalo semiaberto [SecondStart, SecondStart + SecondLength); 0 ignora o segundo segmento e um valor negativo aborta com uma cadeia vazia

Valores devolvidos

O resumo SHA3-384 bruto de 48 bytes empacotado num AnsiString, ou uma cadeia vazia quando o fluxo é nil, qualquer valor de intervalo é negativo ou uma leitura devolve menos bytes do que os pedidos

Observações

Executa a implementação Keccak incorporada da FIPS 202 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 pedida, pelo que um fluxo truncado aborta de forma limpa, o que as variantes de fluxo 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