SHA1StreamRange
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 SHA1StreamRange(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-1 bruto de 20 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_SHA1 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, y SHA-1 se conserva para la interoperabilidad de firmas heredadas
Ejemplo
Digest:= SHA1StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);Véase también
SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange