com doc/fr: Sync crypt() documentation with EN: reference/strings/functions/crypt.xml

[email protected] (George Peter Banyard)
Newsgroups php.doc.fr
Message-ID <[email protected]>
Commit:    9a5491cecb6d715e1b948c2bc09224aef5d0f3ec
Author:    George Peter Banyard <[email protected]>         Mon, 4 Jan 2021 02:21:28 +0100
Parents:   4955dc5cf0e61118a9825395f0fde59e04976dfc
Branches:  master

Link:       http://git.php.net/?p=doc/fr.git;a=commitdiff;h=9a5491cecb6d715e1b948c2bc09224aef5d0f3ec

Log:
Sync crypt() documentation with EN

Changed paths:
  M  reference/strings/functions/crypt.xml
diff_9a5491cecb6d715e1b948c2bc09224aef5d0f3ec.txt (text/plain, 10.7 KB)
diff --git a/reference/strings/functions/crypt.xml b/reference/strings/functions/crypt.xml
index 8258990928..0a45fc2d20 100644
--- a/reference/strings/functions/crypt.xml
+++ b/reference/strings/functions/crypt.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 7f569e1f175adf1fbd0e462eba8d6bc82214c939 Maintainer: yannick Status: ready -->
+<!-- EN-Revision: 5453bb7d88a586ef1e5f2bb01dd9f1a7540af348 Maintainer: yannick Status: ready -->
 <!-- Reviewed: no -->
-
 <refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.crypt">
  <refnamediv>
   <refname>crypt</refname>
@@ -17,19 +16,18 @@
   &reftitle.description;
   <methodsynopsis>
    <type>string</type><methodname>crypt</methodname>
-   <methodparam><type>string</type><parameter>str</parameter></methodparam>
-   <methodparam choice="opt"><type>string</type><parameter>salt</parameter></methodparam>
+   <methodparam><type>string</type><parameter>string</parameter></methodparam>
+   <methodparam><type>string</type><parameter>salt</parameter></methodparam>
   </methodsynopsis>
   <para>
-   Retourne la chaîne <parameter>str</parameter> chiffrée avec l'algorithme
-   standard Unix <abbrev>DES</abbrev>, ou bien un des algorithmes disponibles
-   sur la machine.
+   <function>crypt</function> retournera une chaîne haché utilisant l'algorithme
+   standard d'Unix basé sur <abbrev>DES</abbrev>, ou un algorithme alternatif.
   </para>
   <para>
    Le paramètre <parameter>salt</parameter> est optionnel.
-   Cependant, <function>crypt</function> crée un hash faible
-   sans paramètre <parameter>salt</parameter>. PHP 5.6 et suivants lancent
-   une alerte de niveau E_NOTICE sans ce paramètre.
+   Cependant, <function>crypt</function> crée un hash faible sans le
+   <parameter>salt</parameter>, et lève une erreur <constant>E_NOTICE</constant>
+   sans celui-ci.
    Assurez-vous de spécifier un salt assez solide pour une meilleure sécurité.
   </para>
   <para>
@@ -41,13 +39,8 @@
    <function>password_hash</function> est fortement encouragée.
   </para>
   <para>
-   Certains systèmes supportent plus d'un type de hachage. En fait,
-   il arrive que le chiffrement DES standard soit remplacé par un
-   algorithme de chiffrement MD5. Le choix du type de hachage est
-   effectué en se basant sur la valeur du <parameter>salt</parameter>.
-   À l'installation, PHP détermine les possibilités de
-   la fonction <function>crypt</function>, et acceptera des <parameter>salt</parameter>
-   pour d'autres types de chiffrements. Si aucun <parameter>salt</parameter>
+   Le type de hash est déclenché par l'argument <parameter>salt</parameter>.
+   Si aucun <parameter>salt</parameter>
    n'est fourni, PHP va en générer deux caractères (DES), à moins que le
    système par défaut soit MD5, auquel cas un <parameter>salt</parameter>
    compatible MD5 sera généré. PHP définit une constante appelée
@@ -58,15 +51,13 @@
    <function>crypt</function>, lorsqu'elle est utilisée avec
    le chiffrement standard DES, retourne le <parameter>salt</parameter>
    dans les deux premiers caractères de la chaîne retournée. Elle
-   n'utilise que les 8 premiers caractères de <parameter>str</parameter>,
+   n'utilise que les 8 premiers caractères de <parameter>string</parameter>,
    ce qui fait que toutes les chaînes plus longues, qui ont les mêmes
    premiers 8 octets retourneront le même résultat (tant que le
    <parameter>salt</parameter> est toujours le même).
   </para>
   <simpara>
-   Sur les systèmes où <function>crypt</function> supporte plusieurs types de
-   hachages, les constantes suivantes sont mises à 0 ou 1,
-   suivant que le type correspondant est disponible :
+   Les types de hash suivant sont supportés :
   </simpara>
   <itemizedlist>
    <listitem>
@@ -99,16 +90,15 @@
      et 22 caractères depuis l'alphabet "./0-9A-Za-z". L'utilisation
      de caractères en dehors de cette classe dans le salt fera que la fonction crypt()
      retournera une chaîne vide (de longueur 0). Le paramètre à 2 chiffres est le logarithme
-     base-2 du compteur d'itération pour l'algorithme de hachage basé sur Blowfish sous jacent et
+     base-2 du compteur d'itération pour l'algorithme de hachage basé sur Blowfish sous jasant et
      doivent être dans l'intervalle 04-31. De la même façon, si vous utilisez une valeur en dehors
      de cet intervalle, la fonction crypt() échouera.
-     Les versions de PHP antérieures à la version 5.3.7 ne supportent que
-     "$2a$" comme préfixe salt : PHP 5.3.7 a introduit deux nouveaux préfixes
-     pour résoudre une faille de sécurité dans l'implémentation de Blowfish.
+
+     Les hashes "$2x$" sont potentiellement faible; les hashes "$2a$" sont
+     compatible et atténue cette faiblesse. Pour de nouveaux hashes, "$2y$"
+     devrait être utilisé.
      Référez-vous à <link xlink:href="&url.crypt.blowfish;">ce document</link>
-     pour la totalité des détails de la correction de cette faille, mais pour résumer,
-     les développeurs prévoient uniquement l'utilisation de "$2y$" à la place de
-     "$2a$" pour les versions supérieures à 5.3.7 de PHP.
+     pour la totalité des détails de la correction de cette faille.
     </simpara>
    </listitem>
    <listitem>
@@ -134,12 +124,6 @@
     </simpara>
    </listitem>
   </itemizedlist>
-  <note>
-   <para>
-    Depuis PHP 5.3.0, PHP dispose de sa propre implémentation, et l'utilisera
-    si le système ne dispose pas de fonction crypt, ou de certains algorithmes.
-   </para>
-  </note>
  </refsect1>
  
  <refsect1 role="parameters">
@@ -147,7 +131,7 @@
   <para>
    <variablelist>
     <varlistentry>
-     <term><parameter>str</parameter></term>
+     <term><parameter>string</parameter></term>
      <listitem>
       <para>
        La chaîne à hacher.
@@ -155,7 +139,7 @@
       <caution>
        <para>
         Si vous utilisez l'algorithme <constant>CRYPT_BLOWFISH</constant>,
-        le résultat du paramètre <parameter>str</parameter> sera tronqué
+        le résultat du paramètre <parameter>string</parameter> sera tronqué
         à une longueur maximale de 72 caractères.
        </para>
       </caution>
@@ -183,15 +167,37 @@
   </para>
   <warning>
    <simpara>
-    Lors de la validation des mots de passe, une fonction de comparaison de chaînes
-    qui n'est pas vulnérable aux attaques temporelles doit être utilisée
-    pour comparer la sortie de la fonction <function>crypt</function>
-    au hash précédemment connu. PHP 5.6 et suivants fournit la fonction
-    <function>hash_equals</function> pour ceci.
+    Lors de la validation des mots de passe, une fonction de comparaison de
+    chaînes qui n'est pas vulnérable aux attaques temporelles doit être utilisée
+    pour comparer la sortie de la fonction <function>crypt</function> au hash
+    précédemment connu.
+    PHP fournit <function>hash_equals</function> pour ceci.
    </simpara>
   </warning>
  </refsect1>
 
+ <refsect1 role="changelog">
+  &reftitle.changelog;
+  <informaltable>
+   <tgroup cols="2">
+    <thead>
+     <row>
+      <entry>&Version;</entry>
+      <entry>&Description;</entry>
+     </row>
+    </thead>
+    <tbody>
+     <row>
+      <entry>8.0.0</entry>
+      <entry>
+       Le <parameter>salt</parameter> n'est plus optionnel.
+      </entry>
+     </row>
+    </tbody>
+   </tgroup>
+  </informaltable>
+ </refsect1>
+
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
@@ -200,7 +206,7 @@
     <programlisting role="php">
 <![CDATA[
 <?php
-// laissons le salt initialisé par PHP
+// laissons le salt être automatiquement généré ; non recommandé
 $hashed_password = crypt('mypassword');
 
 /*
@@ -227,7 +233,7 @@ if (hash_equals($hashed_password, crypt($user_input, $hashed_password))) {
 // Définition du mot de passe
 $password = 'mypassword';
 
-// Récupération du hash, on laisse le salt se générer automatiquement
+// Récupération du hash, on laisse le salt se générer automatiquement ; non recommandé
 $hash = crypt($password);
 ?>
 ]]>
@@ -242,31 +248,26 @@ $hash = crypt($password);
 <?php
 /* Ces salts ne sont que pour l'exemple, et ne doivent pas être utilisés
    dans votre application. Vous devriez générer un salt distinct,
-   correctement formatté pour chaque mot de passe.
+   correctement formaté pour chaque mot de passe.
 */
-if (CRYPT_STD_DES == 1) {
-    echo 'DES standard : ' . crypt('rasmuslerdorf', 'rl') . "\n";
-}
-
-if (CRYPT_EXT_DES == 1) {
-    echo 'DES étendu : ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
-}
-
-if (CRYPT_MD5 == 1) {
-    echo 'MD5 :          ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
-}
-
-if (CRYPT_BLOWFISH == 1) {
-    echo 'Blowfish :     ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') . "\n";
-}
-
-if (CRYPT_SHA256 == 1) {
-    echo 'SHA-256 :      ' . crypt('rasmuslerdorf', '$5$rounds=5000$usesomesillystringforsalt$') . "\n";
-}
-
-if (CRYPT_SHA512 == 1) {
-    echo 'SHA-512 :      ' . crypt('rasmuslerdorf', '$6$rounds=5000$usesomesillystringforsalt$') . "\n";
-}
+echo 'Standard DES: ',
+    crypt('rasmuslerdorf', 'rl'),
+    "\n";
+echo 'Extended DES: ',
+    crypt('rasmuslerdorf', '_J9..rasm'),
+    "\n";
+echo 'MD5:          ',
+    crypt('rasmuslerdorf', '$1$rasmusle$'),
+    "\n";
+echo 'Blowfish:     ',
+    crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$'),
+    "\n";
+echo 'SHA-256:      ',
+    crypt('rasmuslerdorf', '$5$rounds=5000$usesomesillystringforsalt$'),
+    "\n";
+echo 'SHA-512:      ',
+    crypt('rasmuslerdorf', '$6$rounds=5000$usesomesillystringforsalt$'),
+    "\n";
 ?>
 ]]>
     </programlisting>
@@ -276,7 +277,7 @@ if (CRYPT_SHA512 == 1) {
 DES standard : rl.3StKT.4T8M
 DES étendu : _J9..rasmBYk8r9AiWNc
 MD5 :          $1$rasmusle$rISCgZzpwk3UhDidwXvin0
-Blowfish :     $2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi
+Blowfish :     $2y$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi
 SHA-256 :      $5$rounds=5000$usesomesillystri$KqJWpanXZHKq2BOB43TSaYhEWsQ1Lr5QNyPCDH/Tp.6
 SHA-512 :      $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21
 ]]>
@@ -302,14 +303,12 @@ SHA-512 :      $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRV
     <member><function>hash_equals</function></member>
     <member><function>password_hash</function></member>
     <member><function>md5</function></member>
-    <member>L'extension <link linkend="ref.mcrypt">Mcrypt</link></member>
     <member>La page de manuel Unix de la fonction crypt pour plus d'informations</member>
    </simplelist>
   </para>
  </refsect1>
  
 </refentry>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.