Foros del Web » Programando para Internet » Python »

Guardar password

Estas en el tema de Guardar password en el foro de Python en Foros del Web. El programa que estoy desarrollando tiene la opcion de guardar contraseña, pero de manera bastante burda, lo hize asi solo como sistema basico, ahora me ...
  #1 (permalink)  
Antiguo 06/10/2012, 18:12
 
Fecha de Ingreso: septiembre-2011
Mensajes: 42
Antigüedad: 13 años, 3 meses
Puntos: 3
Guardar password

El programa que estoy desarrollando tiene la opcion de guardar contraseña, pero de manera bastante burda, lo hize asi solo como sistema basico, ahora me toca implementar uno mejor.

Queria saber que metodos podria implementar para almacenar password de manera "segura".
Con segura que me refiero a que sea mejor que guardarlas en un block de notas :P

Salu2!
__________________
"Porque nada se...
quiero saberlo todo"
  #2 (permalink)  
Antiguo 06/10/2012, 19:19
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Guardar password

Eso es fácil, en un archivo en lugar del password en texto plano guardas el hash del password y de preferencia le puedes añadir un salt al password para que sea mas difícil de romper.
  #3 (permalink)  
Antiguo 06/10/2012, 20:46
 
Fecha de Ingreso: septiembre-2011
Mensajes: 42
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Guardar password

Esto fue lo que encontre en hashlib

Código Python:
Ver original
  1. import hashlib
  2.  
  3. def hash1(txt):
  4.     return hashlib.sha1(txt).hexdigest()
  5. def hash2(txt):
  6.     return hashlib.sha224(txt).hexdigest()
  7. def hash3(txt):
  8.     return hashlib.sha256(txt).hexdigest()
  9. def hash4(txt):
  10.     return hashlib.sha384(txt).hexdigest()
  11. def hash5(txt):
  12.     return hashlib.sha512(txt).hexdigest()
  13. def hash6(txt):
  14.     return hashlib.md5(txt).hexdigest()

Pero al parecer, no hay un codigo para, teniendo el hash, obtener la cadena de texto original...que sentido tendria guardarlo codificado?

Aunque encontre otra que se puede desencriptar, la libreria "base64"

Salu2!
__________________
"Porque nada se...
quiero saberlo todo"
  #4 (permalink)  
Antiguo 06/10/2012, 20:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Guardar password

Es por que no necesitas desencriptar la contraseña para saber que es la misma.

Ejemplo:
Código Python:
Ver original
  1. from hashlib import sha512
  2. # hash for "123456" with sha512 algorithm
  3. correct_hash_password = 'ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413'
  4.  
  5. while True:
  6.     password = raw_input('password: ')
  7.     hash_password = sha512(password).hexdigest()
  8.     if correct_hash_password == hash_password:
  9.         print "Password correct"
  10.         break
  11.     else:
  12.         print "Password incorrect"

Definitivamente base64 seria igual de frágil que dejarlo en texto plano.
  #5 (permalink)  
Antiguo 06/10/2012, 23:20
 
Fecha de Ingreso: septiembre-2011
Mensajes: 42
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Guardar password

El problema es que no debo comprobar que sea la misma, si no que debo obtener la passw que guarde, para enviarla en un formulario.

El programa lo que hace, es si ingresas un usuario que tenga su contraseña guardada, la completa automaticamente (igual que el "guardar contraseña" de las paginas web). Es por eso que necesito obtenerla...

Otra opcion?
__________________
"Porque nada se...
quiero saberlo todo"
  #6 (permalink)  
Antiguo 07/10/2012, 10:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Guardar password

Cita:
Iniciado por AlanFC Ver Mensaje
El problema es que no debo comprobar que sea la misma, si no que debo obtener la passw que guarde, para enviarla en un formulario.

Cita:
Iniciado por AlanFC Ver Mensaje
El programa lo que hace, es si ingresas un usuario que tenga su contraseña guardada, la completa automaticamente (igual que el "guardar contraseña" de las paginas web). Es por eso que necesito obtenerla...
Si no estas usando https entonces da igual que la guardes encriptada o en texto plano.


Cita:
Iniciado por AlanFC Ver Mensaje
Otra opcion?
Encriptar tu contraseña con un cifrado simétrico (Como una llave publica y una privada).

Etiquetas: password, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:01.