Tienes la idea básica, pero hay algunas más que necesitas agregar.
Uno es el concepto de sal. La sal es un número aleatorio asociado con cada cuenta de usuario. Cuando hash la contraseña, hash la contraseña más la sal. De esa manera, el atacante no puede construir una tabla de contraseñas pre-hash y mirar a través de su base de datos de contraseñas. Simplemente genere una nueva sal para cada usuario cuando se registre.
Además, deseará utilizar un algoritmo hash diseñado intencionalmente para ser muy lento. Solía ser que las computadoras no podían probar millones de contraseñas en poco tiempo, pero hoy en día sí pueden. Prueba bcrypt en lugar de SHA256.
Consejos de Python: no es necesario “borrar la contraseña” al final del registro (). Todas las variables locales (incluidas las variables pasadas) se liberan cuando vuelve la función.
- Principalmente comercializo acciones de Penny. ¿Debería estar preocupado por Sensex y Nifty?
- Quiero un juego de PC donde puedas viajar y visitar muchos lugares y países del mundo. ¿Qué juegos son los mejores para eso?
- ¿Me equivoco si me gusta Smoke + Mirror (álbum de Imagine Dragons)?
- Estoy confundido acerca de ir a una lectura de astrología Nadi en Tamil Nadu (cerca de Chennai). ¿Son falsos o reales?
- Obtuve más de 200 en una prueba de coeficiente intelectual diseñada para el rango alto, y patenté un nuevo teclado. ¿Crees que IQ es cuantificable por encima de 160?
Su método de inicio de sesión define “self.loginProtectedPassword” que no necesita persistir más allá del método login (). Simplemente use “loginProtectedPassword” o lo que quiera.