1
0
Fork 0

revue de hashlib - fuzzies (#95)

Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#95
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
This commit is contained in:
Christophe Nanteuil 2023-03-23 11:08:08 +00:00 committed by Julien Palard
parent 0dba42c44d
commit b6b4c7e394
1 changed files with 237 additions and 193 deletions

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n" "Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n" "POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-10-18 15:55+0200\n" "PO-Revision-Date: 2023-03-22 22:13+0100\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n" "Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n" "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.3\n" "X-Generator: Poedit 3.2.1\n"
#: library/hashlib.rst:2 #: library/hashlib.rst:2
msgid ":mod:`hashlib` --- Secure hashes and message digests" msgid ":mod:`hashlib` --- Secure hashes and message digests"
@ -72,35 +72,37 @@ msgid ""
"`digest` of the concatenation of the data fed to it so far using the :meth:" "`digest` of the concatenation of the data fed to it so far using the :meth:"
"`digest` or :meth:`hexdigest` methods." "`digest` or :meth:`hexdigest` methods."
msgstr "" msgstr ""
"Il y a un constructeur nommé selon chaque type de :dfn:`hash`. Tous " "Il y a un constructeur nommé selon chaque type de calcul d'empreinte (:dfn:"
"retournent un objet haché avec la même interface. Par exemple : utilisez :" "`hash`). Tous renvoient un objet haché avec la même interface. Par exemple : "
"func:`sha256` pour créer un objet haché de type SHA-256. Vous pouvez " "utilisez :func:`sha256` pour créer un objet de calcul d'empreinte avec "
"maintenant utiliser cet objet :term:`bytes-like objects <bytes-like object>` " "l'algorithme SHA-256. Vous pouvez maintenant utiliser cet objet avec des :"
"(normalement des :class:`bytes`) en utilisant la méthode :meth:`update`. À " "term:`objets octets-compatibles <bytes-like object>` (normalement des :class:"
"tout moment vous pouvez demander le :dfn:`digest` de la concaténation des " "`bytes`) en utilisant la méthode :meth:`update`. À tout moment vous pouvez "
"données fournies en utilisant les méthodes :meth:`digest` ou :meth:" "demander l'empreinte (aussi appelée le :dfn:`digest` ou le condensat) de la "
"`hexdigest`." "concaténation des données fournies en utilisant les méthodes :meth:`digest` "
"ou :meth:`hexdigest`."
# suit un :
#: library/hashlib.rst:56 #: library/hashlib.rst:56
msgid "" msgid ""
"For better multithreading performance, the Python :term:`GIL` is released " "For better multithreading performance, the Python :term:`GIL` is released "
"for data larger than 2047 bytes at object creation or on update." "for data larger than 2047 bytes at object creation or on update."
msgstr "" msgstr ""
"Pour de meilleures performances avec de multiples fils d'exécution, le :term:" "pour de meilleures performances avec de multiples fils d'exécution, le :term:"
"`GIL` Python est relâché pour des données dont la taille est supérieure à " "`GIL` Python est relâché pour des données dont la taille est supérieure à "
"2047 octets lors de leur création ou leur mise à jour." "2047 octets lors de leur création ou leur mise à jour."
# suit un :
#: library/hashlib.rst:61 #: library/hashlib.rst:61
msgid "" msgid ""
"Feeding string objects into :meth:`update` is not supported, as hashes work " "Feeding string objects into :meth:`update` is not supported, as hashes work "
"on bytes, not on characters." "on bytes, not on characters."
msgstr "" msgstr ""
"Fournir des objets chaînes de caractères à la méthode :meth:`update` n'est " "fournir des objets chaînes de caractères à la méthode :meth:`update` n'est "
"pas implémenté, comme les fonctions de hachages travaillent sur des *bytes* " "pas implémenté, comme les fonctions de hachages travaillent sur des *bytes* "
"et pas sur des caractères." "et pas sur des caractères."
#: library/hashlib.rst:66 #: library/hashlib.rst:66
#, fuzzy
msgid "" msgid ""
"Constructors for hash algorithms that are always present in this module are :" "Constructors for hash algorithms that are always present in this module are :"
"func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:" "func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:"
@ -115,26 +117,29 @@ msgstr ""
"Les constructeurs pour les algorithmes de hachage qui sont toujours présents " "Les constructeurs pour les algorithmes de hachage qui sont toujours présents "
"dans ce module sont :func:`sha1`, :func:`sha224`, :func:`sha256`, :func:" "dans ce module sont :func:`sha1`, :func:`sha224`, :func:`sha256`, :func:"
"`sha384`, :func:`sha512`, :func:`blake2b`, et :func:`blake2s`. :func:`md5` " "`sha384`, :func:`sha512`, :func:`blake2b`, et :func:`blake2s`. :func:`md5` "
"est normalement disponible aussi, mais il peut être manquant si vous " "est normalement disponible aussi, mais il peut être manquant ou bloqué si "
"utilisez une forme rare de Python \"conforme FIPS\" . Des algorithmes " "vous utilisez une forme rare de Python « conforme FIPS ». Des algorithmes "
"additionnels peuvent aussi être disponibles dépendant de la librairie " "additionnels peuvent aussi être disponibles en fonction de la bibliothèque "
"OpenSSL que Python utilise sur votre plate-forme. Sur la plupart des plates-" "OpenSSL que Python utilise sur votre plate-forme. Sur la plupart des plates-"
"formes les fonctions :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :" "formes les fonctions :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :"
"func:`sha3_512`, :func:`shake_128`, :func:`shake_256` sont aussi disponibles." "func:`sha3_512`, :func:`shake_128`, :func:`shake_256` sont aussi disponibles."
# suit un :
#: library/hashlib.rst:76 #: library/hashlib.rst:76
msgid "" msgid ""
"SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`, :" "SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`, :"
"func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`." "func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`."
msgstr "" msgstr ""
"Les constructeurs SHA3 (Keccak) et SHAKE :func:`sha3_224`, :func:" "les constructeurs SHA3 (Keccak) et SHAKE :func:`sha3_224`, :func:"
"`sha3_256`, :func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:" "`sha3_256`, :func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:"
"`shake_256`." "`shake_256`."
# suit un :
#: library/hashlib.rst:80 #: library/hashlib.rst:80
msgid ":func:`blake2b` and :func:`blake2s` were added." msgid ":func:`blake2b` and :func:`blake2s` were added."
msgstr "Les fonctions :func:`blake2b` et :func:`blake2s` ont été ajoutées." msgstr "les fonctions :func:`blake2b` et :func:`blake2s` ont été ajoutées."
# suit un :
#: library/hashlib.rst:85 #: library/hashlib.rst:85
msgid "" msgid ""
"All hashlib constructors take a keyword-only argument *usedforsecurity* with " "All hashlib constructors take a keyword-only argument *usedforsecurity* with "
@ -143,19 +148,25 @@ msgid ""
"hashing algorithm is not used in a security context, e.g. as a non-" "hashing algorithm is not used in a security context, e.g. as a non-"
"cryptographic one-way compression function." "cryptographic one-way compression function."
msgstr "" msgstr ""
"tous les constructeurs de *hashlib* prennent un argument mot-clé uniquement "
"*usedforsecurity* avec la valeur par défaut ``True``. Une valeur fausse "
"permet l'utilisation d'algorithmes de hachage non sécurisés et bloqués dans "
"des environnements restreints. ``False`` indique que l'algorithme de hachage "
"ne sera pas utilisé dans un contexte de sécurité, par exemple en tant que "
"fonction de compression à sens unique non cryptographique."
#: library/hashlib.rst:92 #: library/hashlib.rst:92
msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL 1.1.1 and newer." msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL 1.1.1 and newer."
msgstr "" msgstr ""
"*Hashlib* utilise désormais SHA3 et SHAKE d'OpenSSL 1.1.1 et plus récents."
#: library/hashlib.rst:94 #: library/hashlib.rst:94
#, fuzzy
msgid "" msgid ""
"For example, to obtain the digest of the byte string ``b\"Nobody inspects " "For example, to obtain the digest of the byte string ``b\"Nobody inspects "
"the spammish repetition\"``::" "the spammish repetition\"``::"
msgstr "" msgstr ""
"Par exemple, pour obtenir l'empreinte de la chaîne ``b'Nobody inspects the " "Par exemple, pour obtenir l'empreinte de la chaîne ``b\"Nobody inspects the "
"spammish repetition'`` ::" "spammish repetition\"`` ::"
#: library/hashlib.rst:106 #: library/hashlib.rst:106
msgid "More condensed:" msgid "More condensed:"
@ -169,11 +180,11 @@ msgid ""
"library may offer. The named constructors are much faster than :func:`new` " "library may offer. The named constructors are much faster than :func:`new` "
"and should be preferred." "and should be preferred."
msgstr "" msgstr ""
"Est un constructeur générique qui prend comme premier paramètre le nom de " "Constructeur générique qui prend comme premier paramètre le nom de "
"l'algorithme désiré (*name*) . Il existe pour permettre l'accès aux " "l'algorithme désiré (*name*). Il existe pour permettre l'accès aux "
"algorithmes listés ci-dessus ainsi qu'aux autres algorithmes que votre " "algorithmes listés ci-dessus ainsi qu'aux autres algorithmes que votre "
"librairie OpenSSL peut offrir. Les constructeurs nommés sont beaucoup plus " "bibliothèque OpenSSL peut offrir. Les constructeurs nommés sont beaucoup "
"rapides que :func:`new` et doivent être privilégiés." "plus rapides que :func:`new` et doivent être privilégiés."
#: library/hashlib.rst:119 #: library/hashlib.rst:119
msgid "Using :func:`new` with an algorithm provided by OpenSSL:" msgid "Using :func:`new` with an algorithm provided by OpenSSL:"
@ -190,10 +201,10 @@ msgid ""
"some upstream vendors offering an odd \"FIPS compliant\" Python build that " "some upstream vendors offering an odd \"FIPS compliant\" Python build that "
"excludes it." "excludes it."
msgstr "" msgstr ""
"Un ensemble contenant les noms des algorithmes de hachage garantis d'être " "Ensemble contenant les noms des algorithmes de hachage garantis d'être "
"implémentés par ce module sur toutes les plate-formes. Notez que *md5* est " "implémentés par ce module sur toutes les plate-formes. Notez que *md5* est "
"dans cette liste malgré certains éditeurs qui offrent une implémentation " "dans cette liste bien que certains éditeurs diffusent une implémentation "
"Python de la librairie compatible FIPS l'excluant." "Python dont la bibliothèque « compatible FIPS » le bloque."
#: library/hashlib.rst:139 #: library/hashlib.rst:139
msgid "" msgid ""
@ -203,7 +214,7 @@ msgid ""
"same algorithm may appear multiple times in this set under different names " "same algorithm may appear multiple times in this set under different names "
"(thanks to OpenSSL)." "(thanks to OpenSSL)."
msgstr "" msgstr ""
"Un ensemble contenant les noms des algorithmes de hachage disponibles dans " "Ensemble contenant les noms des algorithmes de hachage disponibles dans "
"l'interpréteur Python. Ces noms sont reconnus lorsqu'ils sont passés à la " "l'interpréteur Python. Ces noms sont reconnus lorsqu'ils sont passés à la "
"fonction :func:`new`. :attr:`algorithms_guaranteed` est toujours un sous-" "fonction :func:`new`. :attr:`algorithms_guaranteed` est toujours un sous-"
"ensemble. Le même algorithme peut apparaître plusieurs fois dans cet " "ensemble. Le même algorithme peut apparaître plusieurs fois dans cet "
@ -214,8 +225,8 @@ msgid ""
"The following values are provided as constant attributes of the hash objects " "The following values are provided as constant attributes of the hash objects "
"returned by the constructors:" "returned by the constructors:"
msgstr "" msgstr ""
"Les valeurs suivantes sont fournis en tant qu'attributs constants des objets " "Les valeurs suivantes sont fournies en tant qu'attributs constants des "
"hachés retournés par les constructeurs ::" "objets de calcul d'empreintes renvoyés par les constructeurs ::"
#: library/hashlib.rst:153 #: library/hashlib.rst:153
msgid "The size of the resulting hash in bytes." msgid "The size of the resulting hash in bytes."
@ -227,30 +238,31 @@ msgstr "La taille interne d'un bloc de l'algorithme de hachage en octets."
#: library/hashlib.rst:159 #: library/hashlib.rst:159
msgid "A hash object has the following attributes:" msgid "A hash object has the following attributes:"
msgstr "L'objet haché possède les attributs suivants ::" msgstr "L'objet de hachage possède les attributs suivants ::"
#: library/hashlib.rst:163 #: library/hashlib.rst:163
msgid "" msgid ""
"The canonical name of this hash, always lowercase and always suitable as a " "The canonical name of this hash, always lowercase and always suitable as a "
"parameter to :func:`new` to create another hash of this type." "parameter to :func:`new` to create another hash of this type."
msgstr "" msgstr ""
"Le nom canonique de cet objet haché, toujours en minuscule et toujours " "Le nom canonique de cette fonction de hachage, toujours en minuscule et que "
"transmissible à la fonction :func:`new` pour créer un autre objet haché de " "vous pouvez toujours transmettre à la fonction :func:`new` pour créer un "
"ce type." "autre objet de calcul d'empreinte de ce type."
# suit un :
#: library/hashlib.rst:166 #: library/hashlib.rst:166
msgid "" msgid ""
"The name attribute has been present in CPython since its inception, but " "The name attribute has been present in CPython since its inception, but "
"until Python 3.4 was not formally specified, so may not exist on some " "until Python 3.4 was not formally specified, so may not exist on some "
"platforms." "platforms."
msgstr "" msgstr ""
"L'attribut *name* est présent dans CPython depuis sa création, mais n'était " "l'attribut *name* est présent dans CPython depuis sa création, mais n'était "
"pas spécifié formellement jusqu'à Python 3.4, il peut ne pas exister sur " "pas spécifié formellement jusqu'à Python 3.4, il peut ne pas exister sur "
"certaines plate-formes." "certaines plate-formes."
#: library/hashlib.rst:171 #: library/hashlib.rst:171
msgid "A hash object has the following methods:" msgid "A hash object has the following methods:"
msgstr "L'objet haché possède les méthodes suivantes ::" msgstr "L'objet de calcul d'empreinte possède les méthodes suivantes ::"
#: library/hashlib.rst:176 #: library/hashlib.rst:176
msgid "" msgid ""
@ -258,19 +270,20 @@ msgid ""
"are equivalent to a single call with the concatenation of all the arguments: " "are equivalent to a single call with the concatenation of all the arguments: "
"``m.update(a); m.update(b)`` is equivalent to ``m.update(a+b)``." "``m.update(a); m.update(b)`` is equivalent to ``m.update(a+b)``."
msgstr "" msgstr ""
"Met à jour l'objet haché avec :term:`bytes-like object`. Les appels répétés " "Met à jour l'objet de hachage avec :term:`bytes-like object`. Les appels "
"sont équivalent à la concaténation de tous les arguments : ``m.update(a); m." "répétés sont équivalents à un simple appel avec la concaténation de tous les "
"update(b)`` est équivalent à ``m.update(a+b)``." "arguments : ``m.update(a); m.update(b)`` est équivalent à ``m.update(a+b)``."
# suit un :
#: library/hashlib.rst:181 #: library/hashlib.rst:181
msgid "" msgid ""
"The Python GIL is released to allow other threads to run while hash updates " "The Python GIL is released to allow other threads to run while hash updates "
"on data larger than 2047 bytes is taking place when using hash algorithms " "on data larger than 2047 bytes is taking place when using hash algorithms "
"supplied by OpenSSL." "supplied by OpenSSL."
msgstr "" msgstr ""
"Le GIL Python est relâché pour permettre aux autres fils d'exécution de " "le GIL Python est relâché pour permettre aux autres fils d'exécution de "
"tourner pendant que la fonction de hachage met à jour des données plus " "tourner pendant que la fonction de hachage met à jour des données plus "
"larges que 2047 octets, lorsque les algorithmes fournis par OpenSSL sont " "longues que 2047 octets, lorsque les algorithmes fournis par OpenSSL sont "
"utilisés." "utilisés."
#: library/hashlib.rst:189 #: library/hashlib.rst:189
@ -279,9 +292,9 @@ msgid ""
"This is a bytes object of size :attr:`digest_size` which may contain bytes " "This is a bytes object of size :attr:`digest_size` which may contain bytes "
"in the whole range from 0 to 255." "in the whole range from 0 to 255."
msgstr "" msgstr ""
"Renvoie le *digest* des données passées à la méthode :meth:`update`. C'est " "Renvoie l'empreinte (le *hash*) des données passées à la méthode :meth:"
"un objet de type *bytes* de taille :attr:`digest_size` qui contient des " "`update`. C'est un objet de type *bytes* de taille :attr:`digest_size` qui "
"octets dans l'intervalle 0 à 255." "contient des octets dans l'intervalle 0 à 255."
#: library/hashlib.rst:224 #: library/hashlib.rst:224
msgid "" msgid ""
@ -289,9 +302,9 @@ msgid ""
"double length, containing only hexadecimal digits. This may be used to " "double length, containing only hexadecimal digits. This may be used to "
"exchange the value safely in email or other non-binary environments." "exchange the value safely in email or other non-binary environments."
msgstr "" msgstr ""
"Comme la méthode :meth:`digest` sauf que le *digest* renvoyé est une chaîne " "Comme la méthode :meth:`digest` sauf que l'empreinte renvoyée est une chaîne "
"de caractères de longueur double, contenant seulement des chiffres " "de caractères dont la longueur est double, contenant seulement des chiffres "
"hexadécimaux. Cela peut être utilisé pour échanger sans risque des valeurs " "hexadécimaux. Elle peut être utilisée pour échanger sans risque des valeurs "
"dans les *e-mails* ou dans les environnements non binaires." "dans les *e-mails* ou dans les environnements non binaires."
#: library/hashlib.rst:203 #: library/hashlib.rst:203
@ -299,13 +312,13 @@ msgid ""
"Return a copy (\"clone\") of the hash object. This can be used to " "Return a copy (\"clone\") of the hash object. This can be used to "
"efficiently compute the digests of data sharing a common initial substring." "efficiently compute the digests of data sharing a common initial substring."
msgstr "" msgstr ""
"Renvoie une copie (\"clone\") de l'objet haché. Cela peut être utilisé pour " "Renvoie une copie (\"clone\") de l'objet de calcul de hachage. Cela peut "
"calculer efficacement les *digests* de données partageant des sous-chaînes " "être utilisé pour calculer efficacement des empreintes de données qui "
"communes." "commencent par la même sous-chaine."
#: library/hashlib.rst:208 #: library/hashlib.rst:208
msgid "SHAKE variable length digests" msgid "SHAKE variable length digests"
msgstr "Synthèse de messages de taille variable SHAKE" msgstr "Empreintes de messages de taille variable SHAKE"
#: library/hashlib.rst:210 #: library/hashlib.rst:210
msgid "" msgid ""
@ -314,11 +327,11 @@ msgid ""
"such, their digest methods require a length. Maximum length is not limited " "such, their digest methods require a length. Maximum length is not limited "
"by the SHAKE algorithm." "by the SHAKE algorithm."
msgstr "" msgstr ""
"Les algorithmes :func:`shake_128` et :func:`shake_256` fournissent des " "Les algorithmes :func:`shake_128` et :func:`shake_256` produisent des "
"messages de longueur variable avec des ``longueurs_en_bits // 2`` jusqu'à " "empreintes (ou condensats) de longueur variable avec des "
"128 ou 256 bits de sécurité. Leurs méthodes *digests* requièrent une " "``longueurs_en_bits // 2`` jusqu'à 128 ou 256 bits. Leurs méthodes de calcul "
"longueur. Les longueurs maximales ne sont pas limitées par l'algorithme " "d'empreinte requièrent une longueur. Les longueurs maximales ne sont pas "
"SHAKE." "limitées par l'algorithme SHAKE."
#: library/hashlib.rst:217 #: library/hashlib.rst:217
msgid "" msgid ""
@ -326,25 +339,29 @@ msgid ""
"This is a bytes object of size *length* which may contain bytes in the whole " "This is a bytes object of size *length* which may contain bytes in the whole "
"range from 0 to 255." "range from 0 to 255."
msgstr "" msgstr ""
"Renvoie le *digest* des données passées à la méthode :meth:`update`. C'est " "Renvoie l'empreinte des données passées à la méthode :meth:`update`. C'est "
"un objet de type *bytes* de taille *length* qui contient des octets dans " "un objet de type *bytes* de taille *length* qui contient des octets dans "
"l'intervalle 0 à 255." "l'intervalle 0 à 255."
#: library/hashlib.rst:230 #: library/hashlib.rst:230
#, fuzzy
msgid "File hashing" msgid "File hashing"
msgstr "Hachage simple" msgstr "Calcul d'empreinte (ou hachage) de fichiers"
#: library/hashlib.rst:232 #: library/hashlib.rst:232
msgid "" msgid ""
"The hashlib module provides a helper function for efficient hashing of a " "The hashlib module provides a helper function for efficient hashing of a "
"file or file-like object." "file or file-like object."
msgstr "" msgstr ""
"Le module *hashlib* fournit une fonction utilitaire pour calculer "
"efficacement l'empreinte (aussi appelée condensat) d'un fichier ou d'un "
"objet fichier-compatible."
#: library/hashlib.rst:237 #: library/hashlib.rst:237
msgid "" msgid ""
"Return a digest object that has been updated with contents of file object." "Return a digest object that has been updated with contents of file object."
msgstr "" msgstr ""
"Renvoie un objet de calcul d'empreinte qui a été mis à jour avec le contenu "
"de *fileobj*."
#: library/hashlib.rst:239 #: library/hashlib.rst:239
msgid "" msgid ""
@ -356,17 +373,26 @@ msgid ""
"an unknown state after this function returns or raises. It is up to the " "an unknown state after this function returns or raises. It is up to the "
"caller to close *fileobj*." "caller to close *fileobj*."
msgstr "" msgstr ""
"*fileobj* doit être un objet fichier-compatible ouvert en lecture en mode "
"binaire. Sont acceptés les instances d'objets fichiers produites par la "
"fonction native :func:`open`, :class:`~io.BytesIO`, les objets connecteurs "
"produits par :meth:`socket.socket.makefile` et similaires. La fonction peut "
"court-circuiter les entrées-sorties de Python et utiliser directement le "
"descripteur de fichier de :meth:`~io.IOBase.fileno`. Vous devez supposer que "
"*fileobj* est dans un état inconnu après le retour de cette fonction ou si "
"elle a levé une exception. C'est à l'appelant de fermer *fileobj*."
#: library/hashlib.rst:247 #: library/hashlib.rst:247
msgid "" msgid ""
"*digest* must either be a hash algorithm name as a *str*, a hash " "*digest* must either be a hash algorithm name as a *str*, a hash "
"constructor, or a callable that returns a hash object." "constructor, or a callable that returns a hash object."
msgstr "" msgstr ""
"*digest* doit être un nom d'algorithme de hachage fourni en tant que *str*, "
"un constructeur de hachage ou un appelable qui renvoie un objet de hachage."
#: library/hashlib.rst:250 #: library/hashlib.rst:250
#, fuzzy
msgid "Example:" msgid "Example:"
msgstr "Exemples" msgstr "Exemple :"
#: library/hashlib.rst:273 #: library/hashlib.rst:273
msgid "Key derivation" msgid "Key derivation"
@ -383,17 +409,17 @@ msgstr ""
"Les algorithmes de dérivation de clés et d'étirement de clés sont conçus " "Les algorithmes de dérivation de clés et d'étirement de clés sont conçus "
"pour le hachage sécurisé de mots de passe. Des algorithmes naïfs comme " "pour le hachage sécurisé de mots de passe. Des algorithmes naïfs comme "
"``sha1(password)`` ne sont pas résistants aux attaques par force brute. Une " "``sha1(password)`` ne sont pas résistants aux attaques par force brute. Une "
"bonne fonction de hachage doit être paramétrable, lente, et inclure un `sel " "bonne fonction de hachage doit être paramétrable, lente et inclure un "
"<https://en.wikipedia.org/wiki/Salt_%28cryptography%29>`_." "`salage <https://fr.wikipedia.org/wiki/Salage_(cryptographie)>`_."
#: library/hashlib.rst:283 #: library/hashlib.rst:283
msgid "" msgid ""
"The function provides PKCS#5 password-based key derivation function 2. It " "The function provides PKCS#5 password-based key derivation function 2. It "
"uses HMAC as pseudorandom function." "uses HMAC as pseudorandom function."
msgstr "" msgstr ""
"La fonction fournit une fonction de dérivation PKCS#5 (*Public Key " "La fonction fournit une fonction de dérivation conforme à PKCS#5 (*Public "
"Cryptographic Standards #5 v2.0*). Elle utilise HMAC comme fonction de " "Key Cryptographic Standards #5 v2.0*). Elle utilise HMAC comme fonction de "
"pseudo-aléatoire." "génération d'un pseudo-aléa."
#: library/hashlib.rst:286 #: library/hashlib.rst:286
msgid "" msgid ""
@ -407,7 +433,7 @@ msgstr ""
"désiré pour le HMAC, par exemple ``\"sha1\"`` ou ``\"sha256\"``. *password* " "désiré pour le HMAC, par exemple ``\"sha1\"`` ou ``\"sha256\"``. *password* "
"et *salt* sont interprétés comme des tampons d'octets. Les applications et " "et *salt* sont interprétés comme des tampons d'octets. Les applications et "
"bibliothèques doivent limiter *password* à une longueur raisonnable (comme " "bibliothèques doivent limiter *password* à une longueur raisonnable (comme "
"``1024``). *salt* doit être de 16 octets ou plus provenant d'une source " "``1024``). *salt* doit être de 16 octets ou plus et provenir d'une source "
"correcte, e.g. :func:`os.urandom`." "correcte, e.g. :func:`os.urandom`."
#: library/hashlib.rst:292 #: library/hashlib.rst:292
@ -418,31 +444,44 @@ msgid ""
"your application, read *Appendix A.2.2* of NIST-SP-800-132_. The answers on " "your application, read *Appendix A.2.2* of NIST-SP-800-132_. The answers on "
"the `stackexchange pbkdf2 iterations question`_ explain in detail." "the `stackexchange pbkdf2 iterations question`_ explain in detail."
msgstr "" msgstr ""
"Le nombre d'*itérations* doit être choisi en fonction de l'algorithme de "
"hachage et de la puissance de calcul. À partir de 2022, des centaines de "
"milliers d'itérations de SHA-256 sont suggérées. Pour savoir pourquoi et "
"comment choisir ce qui convient le mieux à votre application, lisez "
"*l'annexe A.2.2* du NIST-SP-800-132_ (ressource en anglais). Les réponses "
"contenues dans la question sur le site *stackexchange* `nombre d'itérations "
"recommandées lorsqu'on utilise pbkdf2`_ (page en anglais) expliquent tout en "
"détail."
#: library/hashlib.rst:298 #: library/hashlib.rst:298
msgid "" msgid ""
"*dklen* is the length of the derived key. If *dklen* is ``None`` then the " "*dklen* is the length of the derived key. If *dklen* is ``None`` then the "
"digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512." "digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512."
msgstr "" msgstr ""
"*dklen* est la longueur de la clé dérivée. Si *dklen* vaut ``None`` alors la " "*dklen* est la longueur de la clé dérivée. Si *dklen* vaut ``None`` alors "
"taille du message de l'algorithme de hachage *hash_name* est utilisé, e.g. " "Python utilise la taille du condensat produit par l'algorithme de hachage "
"64 pour SHA-512." "*hash_name*, par exemple 64 pour SHA-512."
# suit un :
#: library/hashlib.rst:311 #: library/hashlib.rst:311
msgid "" msgid ""
"A fast implementation of *pbkdf2_hmac* is available with OpenSSL. The " "A fast implementation of *pbkdf2_hmac* is available with OpenSSL. The "
"Python implementation uses an inline version of :mod:`hmac`. It is about " "Python implementation uses an inline version of :mod:`hmac`. It is about "
"three times slower and doesn't release the GIL." "three times slower and doesn't release the GIL."
msgstr "" msgstr ""
"Une implémentation rapide de *pbkdf2_hmac* est disponible avec OpenSSL. " "une implémentation rapide de *pbkdf2_hmac* est disponible avec OpenSSL. "
"L'implémentation Python utilise une version anonyme de :mod:`hmac`. Elle est " "L'implémentation Python utilise une version *inline* de :mod:`hmac`. Elle "
"trois fois plus lente et ne libère pas le GIL." "est trois fois plus lente et ne libère pas le GIL."
# suit un :
#: library/hashlib.rst:317 #: library/hashlib.rst:317
msgid "" msgid ""
"Slow Python implementation of *pbkdf2_hmac* is deprecated. In the future the " "Slow Python implementation of *pbkdf2_hmac* is deprecated. In the future the "
"function will only be available when Python is compiled with OpenSSL." "function will only be available when Python is compiled with OpenSSL."
msgstr "" msgstr ""
"l'implémentation en Python (lente) de *pbkdf2_hmac* est obsolète. À "
"l'avenir, la fonction ne sera disponible que lorsque Python est compilé avec "
"OpenSSL."
#: library/hashlib.rst:323 #: library/hashlib.rst:323
msgid "" msgid ""
@ -450,7 +489,7 @@ msgid ""
"defined in :rfc:`7914`." "defined in :rfc:`7914`."
msgstr "" msgstr ""
"La fonction fournit la fonction de dérivation de clé *scrypt* comme définie " "La fonction fournit la fonction de dérivation de clé *scrypt* comme définie "
"dans :rfc:`7914`." "dans la :rfc:`7914`."
#: library/hashlib.rst:326 #: library/hashlib.rst:326
msgid "" msgid ""
@ -459,10 +498,10 @@ msgid ""
"length (e.g. 1024). *salt* should be about 16 or more bytes from a proper " "length (e.g. 1024). *salt* should be about 16 or more bytes from a proper "
"source, e.g. :func:`os.urandom`." "source, e.g. :func:`os.urandom`."
msgstr "" msgstr ""
"*password* et *salt* doivent être des :term:`bytes-like objects <bytes-like " "*password* et *salt* doivent être des :term:`objets octets-compatibles "
"object>`. Les applications et bibliothèques doivent limiter *password* à une " "<bytes-like object>`. Les applications et bibliothèques doivent limiter "
"longueur raisonnable (e.g. 1024). *salt* doit être de 16 octets ou plus " "*password* à une longueur raisonnable (par ex. 1024). *salt* doit être de 16 "
"provenant d'une source correcte, e.g. :func:`os.urandom`." "octets ou plus et provenir d'une source correcte, par ex. :func:`os.urandom`."
#: library/hashlib.rst:331 #: library/hashlib.rst:331
msgid "" msgid ""
@ -471,8 +510,9 @@ msgid ""
"*dklen* is the length of the derived key." "*dklen* is the length of the derived key."
msgstr "" msgstr ""
"*n* est le facteur de coût CPU/Mémoire, *r* la taille de bloc, *p* le " "*n* est le facteur de coût CPU/Mémoire, *r* la taille de bloc, *p* le "
"facteur de parallélisation et *maxmem* limite la mémoire (OpenSSL 1.1.0 " "facteur de parallélisation et *maxmem* limite l'utilisation de la mémoire "
"limite à 32 MB par défaut). *dklen* est la longueur de la clé dérivée." "(OpenSSL 1.1.0 limite à 32 Mio par défaut). *dklen* est la longueur de la "
"clé dérivée."
#: library/hashlib.rst:339 #: library/hashlib.rst:339
msgid "BLAKE2" msgid "BLAKE2"
@ -491,68 +531,71 @@ msgid ""
"**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size " "**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size "
"between 1 and 64 bytes," "between 1 and 64 bytes,"
msgstr "" msgstr ""
"**BLAKE2b**, optimisée pour les plates-formes 64-bit et produisant des " "**BLAKE2b**, optimisée pour les plates-formes 64 bits et produisant des "
"messages de toutes tailles entre 1 et 64 octets," "condensats de toutes tailles entre 1 et 64 octets,"
#: library/hashlib.rst:352 #: library/hashlib.rst:352
msgid "" msgid ""
"**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of " "**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of "
"any size between 1 and 32 bytes." "any size between 1 and 32 bytes."
msgstr "" msgstr ""
"**BLAKE2s**, optimisée pour les plates-formes de 8 à 32-bit et produisant " "**BLAKE2s**, optimisée pour les plates-formes de 8 à 32 bits et produisant "
"des messages de toutes tailles entre 1 et 32 octets." "des empreintes de toutes tailles entre 1 et 32 octets."
#: library/hashlib.rst:355 #: library/hashlib.rst:355
msgid "" msgid ""
"BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), " "BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), "
"**salted hashing**, **personalization**, and **tree hashing**." "**salted hashing**, **personalization**, and **tree hashing**."
msgstr "" msgstr ""
"BLAKE2 gère diverses fonctionnalités **keyed mode** (un remplacement plus " "BLAKE2 gère diverses fonctionnalités comme le **keyed mode** (plus rapide et "
"rapide et plus simple pour HMAC_), **salted hashing**, **personalization**, " "plus simple que HMAC_), **salted hashing**, **personalization** et le **tree "
"et **tree hashing**." "hashing**."
#: library/hashlib.rst:358 #: library/hashlib.rst:358
msgid "" msgid ""
"Hash objects from this module follow the API of standard library's :mod:" "Hash objects from this module follow the API of standard library's :mod:"
"`hashlib` objects." "`hashlib` objects."
msgstr "" msgstr ""
"Les objets hachés de ce module suivent l'API des objets du module :mod:" "Les objets de calcul d'empreinte de ce module suivent l'API des objets du "
"`hashlib` de la librairie standard." "module :mod:`hashlib` de la bibliothèque standard."
#: library/hashlib.rst:363 #: library/hashlib.rst:363
msgid "Creating hash objects" msgid "Creating hash objects"
msgstr "Création d'objets hachés" msgstr "Création d'objets de calcul d'empreinte"
#: library/hashlib.rst:365 #: library/hashlib.rst:365
msgid "New hash objects are created by calling constructor functions:" msgid "New hash objects are created by calling constructor functions:"
msgstr "Les nouveaux objets hachés sont créés en appelant les constructeurs ::" msgstr ""
"Les nouveaux objets de calcul d'empreinte sont créés en appelant les "
"constructeurs ::"
#: library/hashlib.rst:379 #: library/hashlib.rst:379
msgid "" msgid ""
"These functions return the corresponding hash objects for calculating " "These functions return the corresponding hash objects for calculating "
"BLAKE2b or BLAKE2s. They optionally take these general parameters:" "BLAKE2b or BLAKE2s. They optionally take these general parameters:"
msgstr "" msgstr ""
"Ces fonctions produisent l'objet haché correspondant aux calculs de BLAKE2b " "Ces fonctions produisent l'objet de calcul d'empreinte correspondant aux "
"ou BLAKE2s. Elles prennent ces paramètres optionnels ::" "algorithmes BLAKE2b ou BLAKE2s. Elles prennent ces paramètres optionnels ::"
#: library/hashlib.rst:382 #: library/hashlib.rst:382
msgid "" msgid ""
"*data*: initial chunk of data to hash, which must be :term:`bytes-like " "*data*: initial chunk of data to hash, which must be :term:`bytes-like "
"object`. It can be passed only as positional argument." "object`. It can be passed only as positional argument."
msgstr "" msgstr ""
"*data*: morceau initial de données à hacher, qui doit être un objet de type :" "*data* : morceau initial de données à hacher, qui doit être un :term:`objet "
"term:`bytes-like object`. Il peut être passé comme argument positionnel." "octets-compatible <bytes-like object>`. Il ne peut être passé que comme "
"argument positionnel."
#: library/hashlib.rst:385 #: library/hashlib.rst:385
msgid "*digest_size*: size of output digest in bytes." msgid "*digest_size*: size of output digest in bytes."
msgstr "*digest_size*: taille en sortie du message en octets." msgstr "*digest_size* : taille en octets de l'empreinte produite."
#: library/hashlib.rst:387 #: library/hashlib.rst:387
msgid "" msgid ""
"*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for " "*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for "
"BLAKE2s)." "BLAKE2s)."
msgstr "" msgstr ""
"*key*: clé pour les code d'authentification de message *keyed hashing* " "*key* : clé pour les codes d'authentification de message *keyed hashing* "
"(jusqu'à 64 octets pour BLAKE2b, jusqu'à 32 octets pour BLAKE2s)." "(jusqu'à 64 octets pour BLAKE2b, jusqu'à 32 octets pour BLAKE2s)."
#: library/hashlib.rst:390 #: library/hashlib.rst:390
@ -560,7 +603,7 @@ msgid ""
"*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 " "*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 "
"bytes for BLAKE2s)." "bytes for BLAKE2s)."
msgstr "" msgstr ""
"*salt*: sel pour le hachage randomisé *randomized hashing* (jusqu'à 16 " "*salt* : sel pour le hachage randomisé *randomized hashing* (jusqu'à 16 "
"octets pour BLAKE2b, jusqu'à 8 octets pour BLAKE2s)." "octets pour BLAKE2b, jusqu'à 8 octets pour BLAKE2s)."
#: library/hashlib.rst:393 #: library/hashlib.rst:393
@ -568,7 +611,7 @@ msgid ""
"*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes " "*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes "
"for BLAKE2s)." "for BLAKE2s)."
msgstr "" msgstr ""
"*person*: chaîne de personnalisation (jusqu'à 16 octets pour BLAKE2b, " "*person* : chaîne de personnalisation (jusqu'à 16 octets pour BLAKE2b, "
"jusqu'à 8 octets pour BLAKE2s)." "jusqu'à 8 octets pour BLAKE2s)."
#: library/hashlib.rst:396 #: library/hashlib.rst:396
@ -621,6 +664,7 @@ msgstr "32"
msgid "8" msgid "8"
msgstr "8" msgstr "8"
# suit un :
#: library/hashlib.rst:407 #: library/hashlib.rst:407
msgid "" msgid ""
"BLAKE2 specification defines constant lengths for salt and personalization " "BLAKE2 specification defines constant lengths for salt and personalization "
@ -630,62 +674,63 @@ msgid ""
"example, ``b'salt'`` and ``b'salt\\x00'`` is the same value. (This is not " "example, ``b'salt'`` and ``b'salt\\x00'`` is the same value. (This is not "
"the case for *key*.)" "the case for *key*.)"
msgstr "" msgstr ""
"Les spécifications de BLAKE2 définissent des longueurs constantes pour les " "les spécifications de BLAKE2 définissent des longueurs constantes pour les "
"sel et chaînes de personnalisation, toutefois, par commodité, cette " "sel et chaînes de personnalisation. Toutefois, par commodité, cette "
"implémentation accepte des chaînes *byte* de n'importe quelle taille jusqu'à " "implémentation accepte des chaînes d'octets de n'importe quelle taille "
"la longueur spécifiée. Si la longueur du paramètre est moindre par rapport à " "jusqu'à la longueur spécifiée. Si la longueur du paramètre est moindre par "
"celle spécifiée, il est complété par des zéros, ainsi, par exemple, " "rapport à celle spécifiée, il est complété par des zéros. Ainsi, par "
"``b'salt'`` et ``b'salt\\x00'`` sont la même valeur (Ce n'est pas le cas " "exemple, ``b'salt'`` et ``b'salt\\x00'`` sont la même valeur (ce n'est pas "
"pour *key*.)" "le cas pour *key*)."
#: library/hashlib.rst:414 #: library/hashlib.rst:414
msgid "These sizes are available as module `constants`_ described below." msgid "These sizes are available as module `constants`_ described below."
msgstr "" msgstr ""
"Ces tailles sont disponibles comme `constants`_ du module et décrites ci-" "Ces tailles sont disponibles en tant que `constantes`_ du module et décrites "
"dessous." "ci-dessous."
#: library/hashlib.rst:416 #: library/hashlib.rst:416
msgid "" msgid ""
"Constructor functions also accept the following tree hashing parameters:" "Constructor functions also accept the following tree hashing parameters:"
msgstr "" msgstr ""
"Les fonctions constructeur acceptent aussi les paramètres suivants pour le " "Les fonctions constructeurs acceptent aussi les paramètres suivants pour le "
"*tree hashing* ::" "calcul d'empreintes en mode arbre ::"
#: library/hashlib.rst:418 #: library/hashlib.rst:418
msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)." msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)."
msgstr "*fanout*: *fanout* (0 à 255, 0 si illimité, 1 en mode séquentiel)." msgstr ""
"*fanout* : *étalement* (0 à 255, 0 si illimité, 1 correspond au mode "
"séquentiel)."
#: library/hashlib.rst:420 #: library/hashlib.rst:420
msgid "" msgid ""
"*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential " "*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential "
"mode)." "mode)."
msgstr "" msgstr ""
"*depth*: profondeur maximale de l'arbre (1 à 255, 255 si illimité, 1 en mode " "*depth* : profondeur maximale de l'arbre (1 à 255, 255 si illimité, 1 "
"séquentiel)." "correspond au mode séquentiel)."
#: library/hashlib.rst:423 #: library/hashlib.rst:423
#, fuzzy
msgid "" msgid ""
"*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited " "*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited "
"or in sequential mode)." "or in sequential mode)."
msgstr "" msgstr ""
"*leaf_size*: taille maximale en octets d'une feuille (0 à 2**32-1, 0 si " "*leaf_size* : taille maximale en octets d'une feuille (0 à ``2**32-1``, 0 si "
"illimité ou en mode séquentiel)." "illimité ou en mode séquentiel)."
#: library/hashlib.rst:426 #: library/hashlib.rst:426
#, fuzzy
msgid "" msgid ""
"*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` " "*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` "
"for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)." "for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)."
msgstr "" msgstr ""
"*node_offset*: décalage de nœud (0 à 2**64-1 pour BLAKE2b, 0 à 2**48-1 pour " "*node_offset* : décalage du nœud (0 à ``2**64-1`` pour BLAKE2b, 0 à "
"BLAKE2s, 0 pour la première feuille la plus à gauche, ou en mode séquentiel)." "``2**48-1`` pour BLAKE2s, 0 pour la première feuille la plus à gauche, ou en "
"mode séquentiel)."
#: library/hashlib.rst:429 #: library/hashlib.rst:429
msgid "" msgid ""
"*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)." "*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)."
msgstr "" msgstr ""
"*node_depth*: profondeur de nœuds (0 à 255, 0 pour les feuilles, ou en mode " "*node_depth* : profondeur du nœud (0 à 255, 0 pour les feuilles, ou en mode "
"séquentiel)." "séquentiel)."
#: library/hashlib.rst:431 #: library/hashlib.rst:431
@ -693,29 +738,28 @@ msgid ""
"*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 " "*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 "
"in sequential mode)." "in sequential mode)."
msgstr "" msgstr ""
"*inner_size*: taille interne du message (0 à 64 pour BLAKE2b, 0 à 32 pour " "*inner_size* : taille de l'empreinte interne (0 à 64 pour BLAKE2b, 0 à 32 "
"BLAKE2s, 0 en mode séquentiel)." "pour BLAKE2s, 0 en mode séquentiel)."
#: library/hashlib.rst:434 #: library/hashlib.rst:434
#, fuzzy
msgid "" msgid ""
"*last_node*: boolean indicating whether the processed node is the last one " "*last_node*: boolean indicating whether the processed node is the last one "
"(``False`` for sequential mode)." "(``False`` for sequential mode)."
msgstr "" msgstr ""
"*last_node*: booléen indiquant si le nœud traité est le dernier (``False`` " "*last_node* : booléen indiquant si le nœud traité est le dernier (``False`` "
"pour le mode séquentiel)." "pour le mode séquentiel)."
#: library/hashlib.rst:None #: library/hashlib.rst:None
msgid "Explanation of tree mode parameters." msgid "Explanation of tree mode parameters."
msgstr "" msgstr "Explication des paramètres du mode arbre."
#: library/hashlib.rst:440 #: library/hashlib.rst:440
msgid "" msgid ""
"See section 2.10 in `BLAKE2 specification <https://blake2.net/" "See section 2.10 in `BLAKE2 specification <https://blake2.net/"
"blake2_20130129.pdf>`_ for comprehensive review of tree hashing." "blake2_20130129.pdf>`_ for comprehensive review of tree hashing."
msgstr "" msgstr ""
"Voir section 2.10 dans `BLAKE2 specification <https://blake2.net/" "Voir la section 2.10 dans `BLAKE2 specification <https://blake2.net/"
"blake2_20130129.pdf>`_ pour une approche compréhensive du *tree hashing*." "blake2_20130129.pdf>`_ pour une approche globale du hachage en mode arbre."
#: library/hashlib.rst:446 #: library/hashlib.rst:446
msgid "Constants" msgid "Constants"
@ -756,20 +800,21 @@ msgid ""
"object, and, finally, get the digest out of the object by calling :meth:" "object, and, finally, get the digest out of the object by calling :meth:"
"`digest` (or :meth:`hexdigest` for hex-encoded string)." "`digest` (or :meth:`hexdigest` for hex-encoded string)."
msgstr "" msgstr ""
"Pour calculer les *hash* de certaines données, vous devez d'abord construire " "Pour calculer l'empreinte (ou *hash*) d'une quantité de données, vous devez "
"un objet haché en appelant la fonction constructeur appropriée (:func:" "d'abord construire un objet de calcul d'empreinte en appelant la fonction "
"`blake2b` or :func:`blake2s`), ensuite le mettre à jour avec les données en " "constructeur appropriée (:func:`blake2b` or :func:`blake2s`), ensuite le "
"appelant la méthode :meth:`update` sur l'objet, et, pour finir, récupérer " "mettre à jour avec les données en appelant la méthode :meth:`update` sur "
"l'empreinte du message en appelant la méthode :meth:`digest` (ou :meth:" "l'objet, et, pour finir, récupérer l'empreinte du message en appelant la "
"`hexdigest` pour les chaînes hexadécimales)." "méthode :meth:`digest` (ou :meth:`hexdigest` pour les chaînes hexadécimales)."
#: library/hashlib.rst:491 #: library/hashlib.rst:491
msgid "" msgid ""
"As a shortcut, you can pass the first chunk of data to update directly to " "As a shortcut, you can pass the first chunk of data to update directly to "
"the constructor as the positional argument:" "the constructor as the positional argument:"
msgstr "" msgstr ""
"Pour raccourcir, vous pouvez passer directement au constructeur, comme " "En plus court, vous pouvez passer directement au constructeur, comme "
"argument positionnel, le premier morceau du message à mettre à jour ::" "argument positionnel, le premier morceau du message pour le mettre "
"directement à jour ::"
#: library/hashlib.rst:498 #: library/hashlib.rst:498
msgid "" msgid ""
@ -777,11 +822,11 @@ msgid ""
"update the hash:" "update the hash:"
msgstr "" msgstr ""
"Vous pouvez appeler la méthode :meth:`hash.update` autant de fois que " "Vous pouvez appeler la méthode :meth:`hash.update` autant de fois que "
"nécessaire pour mettre à jour le *hash* de manière itérative ::" "nécessaire pour mettre à jour l'empreinte de manière itérative ::"
#: library/hashlib.rst:511 #: library/hashlib.rst:511
msgid "Using different digest sizes" msgid "Using different digest sizes"
msgstr "Usage de tailles d'empreintes différentes" msgstr "Production de tailles d'empreintes différentes"
#: library/hashlib.rst:513 #: library/hashlib.rst:513
msgid "" msgid ""
@ -800,17 +845,17 @@ msgid ""
"(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s " "(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s "
"produce different outputs even if the output length is the same:" "produce different outputs even if the output length is the same:"
msgstr "" msgstr ""
"Les objets hachés avec différentes tailles d'empreintes ont des sorties " "Les objets de calcul d'empreinte initialisés avec des tailles d'empreintes "
"complètement différentes (les *hash* plus courts *ne sont pas* des préfixes " "différentes ont des sorties complètement différentes (les condensats courts "
"de *hash* plus longs); BLAKE2b et BLAKE2s produisent des sorties différentes " "*ne sont pas* des préfixes de condensats plus longs) ; BLAKE2b et BLAKE2s "
"même si les longueurs des sorties sont les mêmes ::" "produisent des sorties différentes même si les longueurs de sortie sont les "
"mêmes ::"
#: library/hashlib.rst:543 #: library/hashlib.rst:543
msgid "Keyed hashing" msgid "Keyed hashing"
msgstr "Code d'authentification de message" msgstr "Hachage avec clé Code d'authentification de message"
#: library/hashlib.rst:545 #: library/hashlib.rst:545
#, fuzzy
msgid "" msgid ""
"Keyed hashing can be used for authentication as a faster and simpler " "Keyed hashing can be used for authentication as a faster and simpler "
"replacement for `Hash-based message authentication code <https://en." "replacement for `Hash-based message authentication code <https://en."
@ -818,11 +863,10 @@ msgid ""
"mode thanks to the indifferentiability property inherited from BLAKE." "mode thanks to the indifferentiability property inherited from BLAKE."
msgstr "" msgstr ""
"Le hachage avec clé (*keyed hashing* en anglais) est une alternative plus " "Le hachage avec clé (*keyed hashing* en anglais) est une alternative plus "
"simple et plus rapide à un `code dauthentification dune empreinte " "simple et plus rapide à un `code dauthentification de message de hachage à "
"cryptographique de message avec clé <https://fr.wikipedia.org/wiki/Keyed-" "clé <https://fr.wikipedia.org/wiki/Keyed-hash_message_authentication_code>`_ "
"hash_message_authentication_code>`_ (HMAC). BLAKE2 peut être utilisé de " "(HMAC). BLAKE2 peut être utilisé de manière sécurisée dans le mode préfixe "
"manière sécurisée dans le mode préfixe MAC grâce à la propriété " "MAC grâce à la propriété d'indifférentiabilité héritée de BLAKE."
"d'indifférentiabilité héritée de BLAKE."
#: library/hashlib.rst:551 #: library/hashlib.rst:551
msgid "" msgid ""
@ -830,7 +874,7 @@ msgid ""
"for message ``b'message data'`` with key ``b'pseudorandom key'``::" "for message ``b'message data'`` with key ``b'pseudorandom key'``::"
msgstr "" msgstr ""
"Cet exemple montre comment obtenir un code d'authentification de message de " "Cet exemple montre comment obtenir un code d'authentification de message de "
"128-bit (en hexadécimal) pour un message ``b'message data'`` avec la clé " "128 bits (en hexadécimal) pour un message ``b'message data'`` avec la clé "
"``b'pseudorandom key'`` ::" "``b'pseudorandom key'`` ::"
#: library/hashlib.rst:561 #: library/hashlib.rst:561
@ -840,7 +884,7 @@ msgid ""
msgstr "" msgstr ""
"Comme exemple pratique, une application web peut chiffrer symétriquement les " "Comme exemple pratique, une application web peut chiffrer symétriquement les "
"*cookies* envoyés aux utilisateurs et les vérifier plus tard pour être " "*cookies* envoyés aux utilisateurs et les vérifier plus tard pour être "
"certaine qu'ils n'aient pas été altérés ::" "certaine qu'ils n'ont pas été altérés ::"
#: library/hashlib.rst:590 #: library/hashlib.rst:590
msgid "" msgid ""
@ -849,7 +893,7 @@ msgid ""
msgstr "" msgstr ""
"Même s'il possède en natif la création de code d'authentification de message " "Même s'il possède en natif la création de code d'authentification de message "
"(MAC), BLAKE2 peut, bien sûr, être utilisé pour construire un HMAC en " "(MAC), BLAKE2 peut, bien sûr, être utilisé pour construire un HMAC en "
"combinaison du module :mod:`hmac` ::" "combinaison avec le module :mod:`hmac` ::"
#: library/hashlib.rst:601 #: library/hashlib.rst:601
msgid "Randomized hashing" msgid "Randomized hashing"
@ -890,21 +934,21 @@ msgstr ""
"préparateur du message, génère tout ou partie d'un message à signer par une " "préparateur du message, génère tout ou partie d'un message à signer par une "
"seconde partie, le signataire du message. Si le préparateur du message est " "seconde partie, le signataire du message. Si le préparateur du message est "
"capable de trouver des collisions sur la fonction cryptographique de hachage " "capable de trouver des collisions sur la fonction cryptographique de hachage "
"(c.-à-d. deux messages produisant la même valeur une fois hachés), alors ils " "(c.-à-d. deux messages produisant la même valeur une fois hachés), alors il "
"peuvent préparer des versions significatives du message qui produiront les " "peut préparer plusieurs versions du message, ayant un sens, qui produiront "
"mêmes *hachs* et même signature mais avec des résultats différents (e.g. " "les mêmes empreintes et même signature mais avec des résultats différents "
"transférer 1000000$ sur un compte plutôt que 10$). Les fonctions " "(par exemple transférer 1 000 000 $ sur un compte plutôt que 10 $). Les "
"cryptographiques de hachage ont été conçues dans le but de résister aux " "fonctions cryptographiques de hachage ont été conçues avec comme but premier "
"collisions, mais la concentration actuelle d'attaques sur les fonctions de " "de résister aux collisions, mais la concentration actuelle d'attaques sur "
"hachage peut avoir pour conséquence qu'une fonction de hachage donnée soit " "les fonctions de hachage peut avoir pour conséquence qu'une fonction de "
"moins résistante qu'attendu. Le hachage aléatoire offre au signataire une " "hachage donnée soit moins résistante qu'attendu. Le hachage aléatoire offre "
"protection supplémentaire en réduisant la probabilité que le préparateur " "au signataire une protection supplémentaire en réduisant la probabilité que "
"puisse générer deux messages ou plus qui renverront la même valeur haché " "le préparateur puisse générer deux messages ou plus qui renverront la même "
"lors du processus de génération de la signature --- même s'il est pratique " "empreinte lors du processus de génération de la signature — même s'il existe "
"de trouver des collisions sur la fonction de hachage. Toutefois, " "un moyen pratique de trouver des collisions sur la fonction de hachage. "
"l'utilisation du hachage aléatoire peut réduire le niveau de sécurité fourni " "Toutefois, l'utilisation du hachage aléatoire peut réduire le niveau de "
"par une signature numérique lorsque tous les morceaux du message sont " "sécurité fourni par une signature numérique si tous les morceaux du message "
"préparés par le signataire." "sont préparés par le signataire."
#: library/hashlib.rst:626 #: library/hashlib.rst:626
msgid "" msgid ""
@ -920,7 +964,7 @@ msgid ""
"during initialization, rather than as an input to each compression function." "during initialization, rather than as an input to each compression function."
msgstr "" msgstr ""
"Dans BLAKE2, le sel est passé une seule fois lors de l'initialisation de la " "Dans BLAKE2, le sel est passé une seule fois lors de l'initialisation de la "
"fonction de hachage, plutôt qu'à chaque appel d'une fonction de compression." "fonction de hachage, plutôt qu'à chaque appel de la fonction de hachage."
#: library/hashlib.rst:634 #: library/hashlib.rst:634
msgid "" msgid ""
@ -928,10 +972,10 @@ msgid ""
"cryptographic hash function, such as SHA-256, is not suitable for hashing " "cryptographic hash function, such as SHA-256, is not suitable for hashing "
"passwords. See `BLAKE2 FAQ <https://blake2.net/#qa>`_ for more information." "passwords. See `BLAKE2 FAQ <https://blake2.net/#qa>`_ for more information."
msgstr "" msgstr ""
"*Salted hashing* (ou juste hachage) avec BLAKE2 ou toute autre fonction de " "*Salted hashing* (ou un hachage simple) avec BLAKE2 ou toute autre fonction "
"hachage générique, comme SHA-256, ne convient pas pour le chiffrement des " "de hachage générique, comme SHA-256, ne convient pas pour obscurcir des mots "
"mots de passe. Voir `BLAKE2 FAQ <https://blake2.net/#qa>`_ pour plus " "de passe. Voir `la FAQ BLAKE2 <https://blake2.net/#qa>`_ (page en anglais) "
"d'informations." "pour plus d'informations."
#: library/hashlib.rst:657 #: library/hashlib.rst:657
msgid "Personalization" msgid "Personalization"
@ -945,7 +989,7 @@ msgid ""
msgstr "" msgstr ""
"Parfois il est utile de forcer une fonction de hachage à produire " "Parfois il est utile de forcer une fonction de hachage à produire "
"différentes empreintes de message d'une même entrée pour différentes " "différentes empreintes de message d'une même entrée pour différentes "
"utilisations. Pour citer les auteurs de la fonction de hachage Skein  ::" "utilisations. Pour citer les auteurs de la fonction de hachage Skein ::"
#: library/hashlib.rst:663 #: library/hashlib.rst:663
msgid "" msgid ""
@ -957,21 +1001,20 @@ msgid ""
"hash function used in the protocol summarily stops this type of attack." "hash function used in the protocol summarily stops this type of attack."
msgstr "" msgstr ""
"Nous recommandons que tous les développeurs d'application considèrent " "Nous recommandons que tous les développeurs d'application considèrent "
"sérieusement de faire cela ; nous avons vu de nombreux protocoles où un " "sérieusement de faire cela ; nous avons vu de nombreux protocoles où une "
"*hash* était calculé à un endroit du protocole pour être utilisé à un autre " "empreinte était calculée à un endroit du protocole pour être utilisée à un "
"endroit car deux calculs de *hash* étaient réalisés sur des données " "autre endroit car deux calculs d'empreintes étaient réalisés sur des données "
"similaires ou liées, et qu'un attaquant peut forcer une application à " "similaires ou liées, et qu'un attaquant peut forcer une application à "
"prendre en entrée le même *hash*. Personnaliser chaque fonction de hachage " "prendre en entrée la même empreinte. Personnaliser chaque fonction de "
"utilisée dans le protocole stoppe immédiatement ce genre d'attaque." "hachage utilisée dans le protocole stoppe immédiatement ce genre d'attaque."
#: library/hashlib.rst:670 #: library/hashlib.rst:670
#, fuzzy
msgid "" msgid ""
"(`The Skein Hash Function Family <https://www.schneier.com/wp-content/" "(`The Skein Hash Function Family <https://www.schneier.com/wp-content/"
"uploads/2016/02/skein.pdf>`_, p. 21)" "uploads/2016/02/skein.pdf>`_, p. 21)"
msgstr "" msgstr ""
"(`The Skein Hash Function Family <http://www.skein-hash.info/sites/default/" "(`The Skein Hash Function Family <https://www.schneier.com/wp-content/"
"files/skein1.3.pdf>`_, p. 21, article en anglais)" "uploads/2016/02/skein.pdf>`_, p. 21, article en anglais)"
#: library/hashlib.rst:674 #: library/hashlib.rst:674
msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::" msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::"
@ -1016,9 +1059,9 @@ msgid ""
"*Raphael C.-W. Phan*." "*Raphael C.-W. Phan*."
msgstr "" msgstr ""
"BLAKE2_ a été conçu par *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko " "BLAKE2_ a été conçu par *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko "
"Wilcox-O'Hearn*, et *Christian Winnerlein* basé sur SHA-3_ finaliste BLAKE_ " "Wilcox-O'Hearn*, et *Christian Winnerlein*. Il est basé la version BLAKE_ "
"créé par *Jean-Philippe Aumasson*, *Luca Henzen*, *Willi Meier*, et *Raphael " "qui a participé à la finale de la compétition du NIST SHA-3_ créée par *Jean-"
"C.-W. Phan*." "Philippe Aumasson*, *Luca Henzen*, *Willi Meier*, et *Raphael C.-W. Phan*."
#: library/hashlib.rst:747 #: library/hashlib.rst:747
msgid "" msgid ""
@ -1034,8 +1077,8 @@ msgid ""
"*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The " "*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The "
"documentation was copied from pyblake2_ and written by *Dmitry Chestnykh*." "documentation was copied from pyblake2_ and written by *Dmitry Chestnykh*."
msgstr "" msgstr ""
"L'implémentation dans la librairie standard est basée sur le module " "L'implémentation dans la bibliothèque standard est basée sur le module "
"pyblake2_. Il a été écrit par *Dmitry Chestnykh* et basé sur " "pyblake2_. Elle a été écrite par *Dmitry Chestnykh* et est basée sur "
"l'implémentation C écrite par *Samuel Neves*. La documentation a été copiée " "l'implémentation C écrite par *Samuel Neves*. La documentation a été copiée "
"depuis pyblake2_ et écrite par *Dmitry Chestnykh*." "depuis pyblake2_ et écrite par *Dmitry Chestnykh*."
@ -1049,8 +1092,8 @@ msgid ""
"The following public domain dedication applies for both C hash function " "The following public domain dedication applies for both C hash function "
"implementation, extension code, and this documentation:" "implementation, extension code, and this documentation:"
msgstr "" msgstr ""
"Le transfert dans le domaine publique s'applique pour l'implémentation C de " "Le transfert dans le domaine public s'applique pour l'implémentation C de la "
"la fonction de hachage, ses extensions et cette documentation ::" "fonction de hachage, ses extensions et cette documentation ::"
#: library/hashlib.rst:758 #: library/hashlib.rst:758
msgid "" msgid ""
@ -1058,7 +1101,7 @@ msgid ""
"and related and neighboring rights to this software to the public domain " "and related and neighboring rights to this software to the public domain "
"worldwide. This software is distributed without any warranty." "worldwide. This software is distributed without any warranty."
msgstr "" msgstr ""
"Tout en restant dans les limites de la loi, le(s) auteur(s) a (ont) consacré " "Tout en restant dans les limites de la loi, le(s) auteur(s) a (ont) donné "
"tous les droits dauteur et droits connexes et voisins de ce logiciel au " "tous les droits dauteur et droits connexes et voisins de ce logiciel au "
"domaine public dans le monde entier. Ce logiciel est distribué sans aucune " "domaine public dans le monde entier. Ce logiciel est distribué sans aucune "
"garantie." "garantie."
@ -1080,7 +1123,7 @@ msgid ""
"Commons Public Domain Dedication 1.0 Universal:" "Commons Public Domain Dedication 1.0 Universal:"
msgstr "" msgstr ""
"Les personnes suivantes ont aidé au développement ou contribué aux " "Les personnes suivantes ont aidé au développement ou contribué aux "
"modification du projet et au domaine public selon la licence Creative " "modifications du projet et au domaine public selon la licence Creative "
"Commons Public Domain Dedication 1.0 Universal ::" "Commons Public Domain Dedication 1.0 Universal ::"
#: library/hashlib.rst:770 #: library/hashlib.rst:770
@ -1143,23 +1186,24 @@ msgstr ""
"des problèmes et leur interprétation au regard de leur utilisation." "des problèmes et leur interprétation au regard de leur utilisation."
#: library/hashlib.rst:801 #: library/hashlib.rst:801
#, fuzzy
msgid "https://www.ietf.org/rfc/rfc8018.txt" msgid "https://www.ietf.org/rfc/rfc8018.txt"
msgstr "https://www.ietf.org/rfc/rfc2898.txt" msgstr "https://www.ietf.org/rfc/rfc8018.txt"
#: library/hashlib.rst:801 #: library/hashlib.rst:801
#, fuzzy
msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1" msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1"
msgstr "PKCS #5: Password-Based Cryptography Specification Version 2.0" msgstr "PKCS #5 : Password-Based Cryptography Specification Version 2.1"
#: library/hashlib.rst:803 #: library/hashlib.rst:803
msgid "" msgid ""
"https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf" "https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf"
msgstr "" msgstr ""
"https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf"
#: library/hashlib.rst:804 #: library/hashlib.rst:804
msgid "NIST Recommendation for Password-Based Key Derivation." msgid "NIST Recommendation for Password-Based Key Derivation."
msgstr "" msgstr ""
"Recommandations du NIST pour la dérivation de clé à partir de mot de passe "
"(ressource en anglais)."
#~ msgid "" #~ msgid ""
#~ "The number of *iterations* should be chosen based on the hash algorithm " #~ "The number of *iterations* should be chosen based on the hash algorithm "