Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/02/2014, 10:18
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Uso de Blowfish en PHP

Técnicamente, deberias usar como salt (segundo argumento), algo así

$2a$ +
XX (dos dígitos a tu eleccion) +
$ +
salt +
$


Es decir, una cadena, por ejemplo "$2a$99$<frase de 22 caracteres (salt)>$"

Según la doc:
Código:
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$".
El salt es... como si fuera una "key" privada, por decir algo. Así es más complicado sacar un decrypt por fuerza bruta. Si yo pongo el pass "hola", tu estas añadiendo una frase en plan "holaAsdshadisdahudsiHUAUISHD" por ponder algo. Si "desencriptas", seguiria sin ir el pass! (PD: Es un ejemplo básico, no tiene pq funcionar así en blowfish... :P)

El argumento en si es como si fueran las opciones de crypt, el tipo de crypt, y el salt :)

Saludos!

EDIT: No soy experto en este tema, puedo estar equivocado :)
__________________
>> Eleazan's Source
>> @Eleazan