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
| Input | Flux à hacher ; la fonction se positionne avant chaque segment, de sorte que la position du flux à l'entrée n'a pas d'importance |
|---|---|
| FirstLength | Nombre d'octets hachés à partir de la position 0 du flux, la plage semi-ouverte [0, FirstLength) ; 0 ignore le premier segment |
| SecondStart | Décalage du flux où commence le second segment haché, normalement le premier octet après le trou /Contents de la signature |
| SecondLength | Nombre 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