SHA256StreamRange
Criptografía
Descripción
AnsiString
/ByteRangeLa entrada hasheada es el rango de bytes [0, FirstLength) seguido del rango de bytes [SecondStart, SecondStart + SecondLength), coincidiendo con la disposición /Contents de la firma PDF donde el hueco
Sintaxis
Delphi
Function SHA256StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;Parámetros
| Input | Stream a hashear; la función se posiciona antes de cada segmento, de modo que la posición del stream a la entrada no importa |
|---|---|
| FirstLength | Número de bytes hasheados desde la posición 0 del stream, el rango semiabierto [0, FirstLength); 0 omite el primer segmento |
| SecondStart | Desplazamiento del stream donde comienza el segundo segmento hasheado, normalmente el primer byte después del hueco /Contents de la firma |
| SecondLength | Número de bytes hasheados desde SecondStart, el rango semiabierto [SecondStart, SecondStart + SecondLength); 0 omite el segundo segmento |
Valores devueltos
El resumen SHA-256 bruto de 32 bytes empaquetado en un AnsiString, o una cadena vacía cuando el proveedor CryptoAPI o el objeto hash no pueden crearse o un paso del hash falla |
Observaciones
Delega en el ayudante compartido SHAStreamRange, que adquiere un contexto CryptoAPI PROV_RSA_AES, hashea CALG_SHA_256 en bloques de hasta 8000 bytes e ignora el recuento devuelto de cada lectura del stream; los valores de rango negativos no se rechazan en este ayudante, a diferencia de las variantes de stream SHA-3
Ejemplo
Digest:= SHA256StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Véase también
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA1StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange