Herramienta útil para el tratamiento de cadenas, encode and decode Tools.



herramienta para el trato de cadenas. TooL: | addslashes | base64_decode | base64_encode | bin2hex | convert_uudecode | convert_uuencode | crc32 | crypt | ctype_alnum | ctype_alpha | ctype_digit | hash | hex2bin | html_entity_decode | htmlentities | htmlspecialchars | htmlspecialchars_decode | md5 | nl2br | quotemeta | rawurldecode | rawurlencode | sha1 | str_rot13 | str_shuffle | str_word_count | stripCslashes | strip_tags | stripslashes | strlen | strrev | strtolower | strtoupper | ucwords | urldecode | urlencode | utf8_decode | utf8_encode |

crypt

crypt

Descripción

crypt ( string $str [, string $salt ] ) : string

crypt() devolverá el hash de un string utilizando el algoritmo estándar basado en DES de Unix o algoritmos alternativos que puedan estar disponibles en el sistema.

El parámetro salt es opcional. Sin embargo, crypt() crea una contraseña débil sin salt. PHP 5.6 o posterior emiten un error de nivel E_NOTICE sin él. Asegúrese de especificar una sal lo suficientemente fuerte para mayor seguridad.

password_hash() utiliza un hash fuerte, genera una sal fuerte, y aplica los redondeos necesarios automáticamente. password_hash() es una envoltura simple de crypt() compatible con los hash de contraseñas existentes. Se aconseja el uso de password_hash().

Algunos sistemas operativos soportan más de un tipo de hash. De hecho, a veces el algoritmo estándar basado en DES es sustituído por un algoritmo basado en MD5. El tipo de hash se dispara mediante el argumento salt. Antes de la versión 5.3, PHP determinaba los algoritmos disponibles durante la instalación, basándose en la función crypt() del sistema. Si no se proporciona una sal, PHP autogenerará o una sal estándar de dos caracteres (DES), o una de doce caracteres (MD5), dependiendo de la disponibilidad de la función crypt() de MD5. PHP establece una constante llamada CRYPT_SALT_LENGTH la cual indica la sal de mayor longitud permitida por los hash disponibles.

La función crypt() estándar basada en DES devuelve la sal como los primeros dos caracteres de la salida. También utiliza solamente los primeros ocho caracteres de str, por lo que cadenas más largas que empiecen con los mismos ocho caracteres, generarán el mismo resultado (cuando se utiliza la misma sal).

En sistemas donde la función crypt() soporta múltiples tipos de hash, las siguientes contantes se establecen en 0 o 1, dependiendo de que si el tipo dado está disponible:

  • CRYPT_STD_DES - Hash estándar basado en DES con un salt de dos caracteres del alfabeto "./0-9A-Za-z". Utilizar caracteres no válidos en el salt causará que crypt() falle.
  • CRYPT_EXT_DES - Hash extendido basado en DES. El "salt" es un string de 9 caracteres que consiste en un guión bajo seguido de 4 bytes del conteo de iteraciones y 4 bytes del salt. Estos están codificados como caracteres imprimibles, 6 bits por caracter, por lo menos, el carácter significativo primero. Los valores del 0 al 63 son codificados como "./0-9A-Za-z". Utilizar caracteres no válidos en el salt causará que crypt() falle.
  • CRYPT_MD5 - Hash MD5 con un salt de doce caracteres comenzando con $1$
  • CRYPT_BLOWFISH - Hash con Blowfish con un salt como sigue: "$2a$", "$2x$" o "$2y$", un parámetro de coste de dos dígitos, "$", y 22 caracteres del alfabeto "./0-9A-Za-z". Utilizar caracteres fuera de este rango en el salt causará que crypt() devuelva una cadena de longitud cero. El parámetro de coste de dos dígitos es el logaritmo en base 2 de la cuenta de la iteración del algoritmo hach basado en Blowfish subyacente, y debe estar en el rango 04-31; los valores fuera de este rango causarán que crypt() falle. Las versiones de PHP anteriores a 5.3.7 únicamente admitían "$2a$" como el prefijo para salt: PHP 5.3.7 introdujo los nuevos prefijos para corregir un problema de seguridad en la implementación de Blowfish. Por favor, consulte » este documento para detalles copletos de la corrección de seguridad, pero para resumir, los desarrolladores que se oriente por PHP 5.3.7 y posteriores deberían usar "$2y$" en vez de "$2a$".
  • CRYPT_SHA256 - Hash SHA-256 con un salt de dieciséis caracteres prefijado con $5$. Si el strig del salt inicia con 'rounds=<N>$', el valor numérico de N se utiliza para indicar cuantas veces el bucle del hash se debe ejecutar, muy similar al parámetro de costo en Blowfish. El número de rondas por defecto es 5000, hay un mínimo de 1000 y un máximo de 999,999,999. Cualquier selección de N por fuera de este rango será truncada al límite más cercano.
  • CRYPT_SHA512 - Hash SHA-512 con un salt de dieciséis caracteres prefijado con $6$. Si el strig del salt inicia con 'rounds=<N>$', el valor numérico de N se utiliza para indicar cuantas veces el bucle del hash se debe ejecutar, muy similar al parámetro de costo en Blowfish. El número de rondas por defecto es 5000, hay un mínimo de 1000 y un máximo de 999,999,999. Cualquier selección de N por fuera de este rango será truncada al límite más cercano.

Nota:

A partir de PHP 5.3.0, PHP contiene su propia implementación y la utilizará si el sistema carece de soporte para uno o varios de los algoritmos.

Parámetros

str

El string al que realizarle el hash.

Precaución

El uso del algoritmo CRYPT_BLOWFISH resultará en que el parámetro str sea truncado a una longitud máxima de 72 caracteres.

salt

Un string opcional de salt para la base del hash. Si no se proporciona, el comportamiento se define por la aplicación del algoritmo y puede conducir a resultados inesperados.

Valores devueltos

Devuelve un string con el hash o un string que es más corto que 13 caracteres y que se garantiza que difiere del salt en caso de fallo.

| 19/04/2024 | www.compostela21.com | diariocompostela21@gmail.com | Dejar Mensaje |