Pregunta

He aplicado mi servidor de correo como lo dicta aquí .

Funciona perfectamente bien. Mis gira en torno a curiousity entrar a los usuarios en la base de datos y autenticación de ellas

En funcionamiento:

INSERT INTO users (email, password) VALUES ('sales@example.com', ENCRYPT('password'));

veces Múltiples darán un hash diferente para la contraseña cifrada como su utilización de una sal de azar. Es decir. Si entro sales@example.com tres veces con la misma contraseña cada hash es diferente ...

Mi pregunta es esta, ¿cómo es que el servidor Postfix en realidad puede autenticar la contraseña cuando un usuario se conecta a través de un cliente de correo?

No hay ningún problema por decir, ya que funciona bien, más justo para satisfacer mi curiosidad por lo que puedo entender completamente lo que pasa entre bastidores para autenticar correctamente la contraseña cifrada.

¿Fue útil?

Solución

Leer hombre cripta:. Devuelve la sal en los dos primeros caracteres del valor de retorno

Así que la sal no se pierde, se puede comparar la cadena cifrada al resultado de la cripta ( 'pasar', $ first_two_chars_of_encrypted_value).

Otros consejos

Postfix compara la contraseña de la base de datos para un nuevo cifrar hecho con la sal (contraseña de db).

Para cifrar:

update user set password = ENCRYPT('1234') where id = 1

para verificar la contraseña:

SELECT u.* FROM user u where u.email ='admin@dominio.com' 
and ENCRYPT('1234', u.password) = u.password

Debe utilizar ENCRYPT ( 'pasar', 'sal') para forzar una sal, de lo contrario la sal se pierde para siempre y no hay manera de recuperarlo. función bastante inútil sin ella. Es una terrible función de su uso, sin embargo, porque la seguridad es tan mínima; uso de la contraseña () o OLD_PASSWORD () en su lugar.

ENCRYPT () utiliza la cripta del sistema (), que puede utilizar la totalidad o sólo los primeros 8 caracteres, debe ser imprimible ASCII de 7 bits, generalmente utiliza 1 ronda de un hash basado en DES, y es completamente no portables. Evitarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top