SHA1StreamRange

Cryptographie

Description

AnsiString

/ByteRangeL'entrée hachée est la plage d'octets [0, FirstLength) suivie de la plage d'octets [SecondStart, SecondStart + SecondLength), conformément à la disposition /Contents de la signature PDF où le trou

Syntaxe

Delphi

Function SHA1StreamRange(Input: TStream; FirstLength, SecondStart, SecondLength: Int64): AnsiString;

Paramètres

InputFlux à hacher ; la fonction se positionne avant chaque segment, de sorte que la position du flux à l'entrée n'a pas d'importance
FirstLengthNombre d'octets hachés à partir de la position 0 du flux, la plage semi-ouverte [0, FirstLength) ; 0 ignore le premier segment
SecondStartDécalage du flux où commence le second segment haché, normalement le premier octet après le trou /Contents de la signature
SecondLengthNombre d'octets hachés à partir de SecondStart, la plage semi-ouverte [SecondStart, SecondStart + SecondLength) ; 0 ignore le second segment

Valeurs de retour

Le condensat SHA-1 brut de 20 octets empaqueté dans un AnsiString, ou une chaîne vide lorsque le fournisseur CryptoAPI ou l'objet de hachage ne peut pas être créé ou qu'une étape de hachage échoue

Remarques

Délègue à l'assistance partagée SHAStreamRange, qui acquiert un contexte CryptoAPI PROV_RSA_AES, hache CALG_SHA1 par blocs d'au plus 8000 octets et ignore le compte retourné de chaque lecture de flux ; les valeurs de plage négatives ne sont pas rejetées par cette assistance, contrairement aux variantes de flux SHA-3, et SHA-1 est conservé pour l'interopérabilité des signatures héritées

Exemple

Digest:= SHA1StreamRange(FS, ByteRange[0], ByteRange[2], ByteRange[3]);

Voir aussi

SHA256ByteArray, SHA384ByteArray, SHA512ByteArray, SHA3_256ByteArray, SHA3_384ByteArray, SHA3_512ByteArray, SHA256StreamRange, SHA384StreamRange, SHA512StreamRange, SHA3_256StreamRange, SHA3_384StreamRange, SHA3_512StreamRange, SHAKE256ByteArray, SHAKE256StreamRange