Services webmasters
Partenaires
Jeux concours gratuits
 
crc32
<<<
crypt echo
>>>

7.101 Chaînes de caractères (Strings)
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Constantes prédefinies
Voir aussi
addcslashes
addslashes
bin2hex
chop
chr
chunk_split
convert_cyr_string
count_chars
crc32
->crypt
echo
explode
fprintf
get_html_translation_table
hebrev
hebrevc
html_entity_decode
htmlentities
htmlspecialchars
implode
join
levenshtein
localeconv
ltrim
md5_file
md5
metaphone
money_format
nl_langinfo
nl2br
number_format
ord
parse_str
print
printf
quoted_printable_decode
quotemeta
rtrim
setlocale
sha1_file
sha1
similar_text
soundex
sprintf
sscanf
str_ireplace
str_pad
str_repeat
str_replace
str_rot13
str_shuffle
str_split
str_word_count
strcasecmp
strchr
strcmp
strcoll
strcspn
strip_tags
stripcslashes
stripos
stripslashes
stristr
strlen
strnatcasecmp
strnatcmp
s HREF="function.strtoupper.php">strtoupper
strtr
substr_count
substr_replace
substr
trim
ucfirst
ucwords
vprintf
vsprintf
wordwrap

7.101.15 crypt()Chiffrage indéchiffrable (hashing)

[ Exemples avec crypt ]   PHP 3, PHP 4

string  crypt ( string   str , string   salt )

crypt retourne la chaîne str chiffrée avec l'algorithme standard Unix DES , ou bien un des algorithmes disponibles sur la machine. L'argument optionnel salt sera utilisé comme base pour le chiffrement. Reportez vous aux pages de manuel Unix pour plus de détails sur la fonction crypt.

Si l'argument salt n'est pas fourni, PHP en générera un lui-même.

Certains systèmes supportent plus d'un type de chiffrement. En fait, il arrive que le chiffrement DES standard soit remplacé par un algorithme de chiffrement MD5. Le choix du type de chiffrement est effectué en se basant sur la valeur du salt . A l'installation, PHP détermine les possibitilités de la fonction crypt(), et acceptera des salt pour d'autres types de chiffrements. Si aucun salt n'est fourni, PHP va en générer un de deux caractères, à moins que le système par défaut soit MD5, auquel cas un salt compatible MD5 sera généré. PHP définit une constante appelée CRYPT_SALT_LENGTH qui vous dira si un salt de deux caractères s'applique à votre système, ou bien si c'est un salt de 12 caractères.

Si vous utilisez le salt généré, pensez bien que le salt est généré une seule fois. Si vous appelez cette fonction récursivement, cela peut avoir des impacts sur la sécurité et l'apparence du résultat.

crypt , lorsqu'elle est utilisée avec le chiffrement standard DES, retourne le salt dans les deux premiers caractères de la chaîne retournée. Elle n'utilise que les 8 premiers caractères de str , 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 salt est toujours le même).

Sur les sytèmes où crypt supporte plusieurs types de chiffrements, les constantes suivantes sont mises à 1 ou 0, suivant que le type correspondant est disponible :

  • CRYPT_STD_DES - Chiffrement DES standard à 2 caractères
  • CRYPT_EXT_DES - Chiffrement DES étendu à 9 caractères
  • CRYPT_MD5 - Chiffrement MD5 à 12 caractères commençant par $1$
  • CRYPT_BLOWFISH - Chiffrement Blowfish à 16 caractères commençant par $2$
Note

Il n'existe pas de fonction de déchiffrement, car la fonction crypt utilise un algorithme à un seul sens (injection).

Exemple avec crypt

<?php
$mot_de_passe
= crypt("MonM0TdEPa&&e");
// laissons le salt initialisé par
<TT>PHP</TT>


/*
  Il vaut mieux passer le résultat complet de crypt() comme salt nécessaire
  pour le chiffrement du mot de passe, pour éviter les problèmes entre les
  algorithmes utilisés (comme nous le disons ci-dessus, le chiffrement
  standard DES utilise un salt de 2 caractères, mais un chiffrement
  MD5 utilise un salt de 12.
*/
if (crypt($utilisateur_input,$mot_de_passe_input) == $mot_de_passe) {
   echo
"Mot de passe correct!";
}
?>

Voir aussi md5 et l'extension Mcrypt .

<< crypt >>
crc32 Chaînes de caractères (Strings) echo
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -