crypt() encriptará una cadena utilizando el método estándar de encriptación del Unix DES. Los argumentos son una cadena a encriptar y una cadena semilla de 2 caracteres en la que basar la encriptación. Vea la página de manual de Unix sobre crypt para más información.
Si el argumento de semilla no se proporciona, será generado aleatoriamente por el PHP.
Algunos sistemas operativos soportan más de un tipo de encriptación. De hecho, algunas veces la encriptación estándar DES es sustituída por un algoritmo de encriptación basado en MD5. El tipo de encriptación es disparado por el argumento semilla. En tiempo de instalación, el PHP determina la capacidad de la función de encriptación y aceptará semillas para otros tipos de encriptación. Si no se proporciona la semilla, el PHP intentará generar una semilla estándar DES de 2 caraceres por defecto, excepto si el tipo de encriptación estándar del sistema es el MD5, en cuyo caso se generará una semilla aleatoria compatible con MD5. El PHP fija una constante llamada CRYPT_SALT_LENGTH que le especifica si su sistema soporta una semilla de 2 caracteres o si se debe usar la semilla de 12 caracteres del NDS.
La función estándar de encriptación crypt() contiene la semilla como los dos primeros caracteres de la salida.
En los sistemas en los que la función crypt() soporta múltiples tipos de encriptación, las siguienes constantes son fijadas a 0 ó 1 dependiendo de si está disponible el tipo dado:
CRYPT_STD_DES - Encriptación DES estándar con semilla de 2 caracteres
CRYPT_EXT_DES - Encriptación DES extendida con semilla de 9 caracteres
CRYPT_MD5 - Encriptación MD5 con semilla de 12 caracteres y comenzando por $1$
CRYPT_BLOWFISH - Encriptación DES extendida con semilla de 16 caracteres y comenzando por $2$
No hay función de desencriptado porque crypt() utiliza un algoritmo de una sola vía.
Vea también: md5().