Cita:
Iniciado por webankenovi Como que tu crypt usa 12 caracteres? te estas refiriendo al salt verdad bueno el salt para blowfish se tiene que configurar de cierta manera aqui te dejo la explicacion .
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$".
$salt= '$abSnK6FDm9Xct12QulkpH9$'; 22 caracteres
ahora bien yo te decia minimo 8 caracteres etc.... pero para crear la contraseña en el registro a los usuarios , obligues minimo esos caracteres y mayuscula minuscula y digito
Este es el código que he usado para el crypt... no sé si estará bien...
Código PHP:
Ver originalfunction crypt_blowfish($password, $digito = 20) {
$set_salt = './1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$salt = sprintf('$2a$%02d$', $digito); for($i = 0; $i < 22; $i++)
{
$salt .= $set_salt[mt_rand(0, 63)]; }
return crypt($password, $salt); }
Y lo de las contraseñas de ocho caracteres ya lo tengo muy regulado por muchos sitios, el mayor y el que no te puedes escapar es de este código PHP que lo regula: