¿Puede cifrar una contraseña usando esa contraseña? [duplicar]

6

Necesito realizar una solicitud a un servidor web, la única información que tengo del miembro es un número de cuenta y una contraseña. El número de cuenta no se puede cifrar porque necesito esa información para buscar el registro de miembros. Me gustaría cifrar la contraseña antes de pasarla al servidor web. Pero no tengo ninguna clave secreta para cifrar la contraseña del miembro, la aplicación puede ser revertida por ingeniería. Mi pregunta es, ¿puedes cifrar una contraseña usando esa contraseña? Al igual que MySecretKey se cifra utilizando MySecretKey como contraseña. No sé si esto es posible incluso si se agrega sal. ¿Algún consejo?

    
pregunta kwolbert 29.08.2012 - 06:42
fuente

2 respuestas

5

Para responder a su pregunta específica , entonces sí, por supuesto, puede cifrar un dato utilizando otro dato como clave, incluso si los datos y la clave resultan ser idénticos. ¿Pero qué lograría eso? Descifrar sería difícil: necesita la clave para descifrar, y no tiene la contraseña hasta que la haya descifrado ...

"Autocifrado" podría verse como un tipo de función hash: una transformación determinista de algunos datos de entrada, de una manera que puede revertirse. Hashing es el marco adecuado para el almacenamiento de contraseñas (donde, de hecho, la contraseña no se almacena, solo un token de verificación de contraseña). Sin embargo, se sabe que el crecimiento de las funciones de hachís caseras es difícil; cuando los criptógrafos quieren construir una función hash, toman mucho tiempo porque necesitan estar Asegúrese de que la función sea segura, y no puede saberlo con solo mirarla.

Además, el hashing seguro no es, por sí mismo, suficiente. Necesitas un hash LENTO y SALTADO. Este tema ha sido golpeado hasta la muerte varias veces en este sitio, vea por ejemplo esta pregunta o ese uno . La respuesta completa es: use bcrypt .

    
respondido por el Tom Leek 29.08.2012 - 13:25
fuente
1
  

Me gustaría cifrar la contraseña antes de pasarla al servidor web.

Creo que de esto se trata realmente tu pregunta. Use SSL. No cree su propio método para tratar de permutar la contraseña. Si está cifrado en tránsito con SSL y se compara con una versión con hash (preferiblemente algo adecuado para contraseñas como bcrypt como Tom Leek señaló ), entonces tiene la configuración de mejores prácticas.

    
respondido por el Jeff Ferland 29.08.2012 - 20:25
fuente

Lea otras preguntas en las etiquetas