Manuel PHP
Précédent |  | Suivant

# crypt

(PHP 3 <= 3.0.18, PHP 4 >= 4.0.0)

crypt -- Chiffre une chaîne avec un DES.

## Description

``string crypt` (string str [, string salt])`

crypt() va coder une chaîne en utilisant la méthode de chiffrage du DES standard. Les arguments sont : la chaîne à chiffrer, et un grain de sel qui servira de base pour le chiffrement. Reportez-vous au manuel Unix pour plus de détails.

Si le grain de sel n'est pas fourni, il sera automatiquement généré par PHP.

Certains systèmes d'exploitation acceptent plus d'un type de chiffrement. En fait, le DES standard est parfois remplacé par un chiffrement MD5. Le type de chiffrement est alors choisi en fonction du grain de sel. A l'installation, PHP détermine les possibilités de cryptage et décidera d'accepter d'autres grains de sel pour d'autres types de chiffrement. Si le grain de sel n'est pas fourni, PHP génèrera alors un grain de 2 caractères, pour le DES standard, à moins que le système ne dispose de MD5 : dans ce cas, PHP génèrera un grain de sel pour MD, par défaut. PHP affecte la variable d'environnement CRYPT_SALT_LENGTH, à 2 s'il utilise le DES standard, et à 12 s'il utilise le MD5.

Si vous utilisez le grain de sel fourni, retenez bien que ce grain de sel est généré une seule fois. Si vous appelez crypt() récursivement, cela aura un impact sur l'apparence et finalement la sécurité de votre cryptage.

Le chiffrement standard fournit le grain de sel dans les deux premiers octets du résultat de la fonction crypt().

Sur les systèmes qui supportent plusieurs méthodes de chiffrement, les variables d'environnement suivantes sont mises à 0 ou à 1, en fonction de la disponibilité de la méthode :

- CRYPT_STD_DES - DES Standard avec 2-octets de SALT

- CRYPT_EXT_DES - DES étendu avec 9-octets SALT

- CRYPT_MD5 - MD5 avec 12-octets SALT commençant à $1$

- CRYPT_BLOWFISH - DES étendu avec 16-octets SALT commençant à $2$

Il n'y a pas d'algorithme de décryptage, étant donné que crypt() est injective.

Précédent | Sommaire | Suivant
crc32 | Niveau supérieur | echo