Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: painpills en 6 Febrero 2023, 15:19 pm



Título: Donde esconder las contraseñas - Python
Publicado por: painpills en 6 Febrero 2023, 15:19 pm
Hola, estoy haciendo un programa en python para cifrar archivos de una carpeta y quiero que se puedan descifrar solo con el pin que el usuario establezca, la pregunta es, como puedo ocultar o cual sería la mejor forma de ocultar la contraseña que el usuario ingresa en mi programa, ahora mismo simplemente se guarda en un archivo binario, pero cualquiera con notepad++ o sublime text podría leer la contraseña, y aunque la cifre tendría el mismo problema :'0 donde escondo la llave de cifrado?


Título: Re: Donde esconder las contraseñas - Python
Publicado por: GMTurpin en 28 Mayo 2023, 13:25 pm
¿Has pensado en usar una base de datos MySQL con un campo password tipo blob o tinyblob y en ese campo almacenar la password aplicándole aes_encrypt()?


Título: Re: Donde esconder las contraseñas - Python
Publicado por: Bad4m_cod3 en 24 Agosto 2023, 01:17 am
Hola, estoy haciendo un programa en python para cifrar archivos de una carpeta y quiero que se puedan descifrar solo con el pin que el usuario establezca, la pregunta es, como puedo ocultar o cual sería la mejor forma de ocultar la contraseña que el usuario ingresa en mi programa, ahora mismo simplemente se guarda en un archivo binario, pero cualquiera con notepad++ o sublime text podría leer la contraseña, y aunque la cifre tendría el mismo problema :'0 donde escondo la llave de cifrado?

No hace falta que ocultes las contraseñas, solo cifrarlas con funciones unidireccionales que puedas codificarlas pero no decodificarlas. Esa clase de funciones criptograficas se les conoce como Hash. y en Python puedes ejercutarlas usando la libreria hashlib.


Título: Re: Donde esconder las contraseñas - Python
Publicado por: D3s0rd3n en 14 Noviembre 2023, 07:16 am
Hay muchos maneras y su implementacion dependera de El funcionamiento de tu aplicacion. Para empezar El pin no debe ser Guarda do como tal mas Bien se Guarda un hash del pin y despues se compara entre hashes en vez del pin como tal.

Para guardar tu clave El Camino facil Seria en otro archivo e importarlo pero suppng que eso no es lo que buscabas. Tambien se puedes guardar como una variable de entorno pero si hay acceso local a la aplicacion entonces no Seria ideal. Si necesitas Algo super seguro puedes integrar una KMS a tu aplicacion como AWS secrets manager o vault pero eso te podria costar y la aplicacion requerira acceso a internet. Otra es usar algun gestor de contraseñas que Tenga API para python. Hay muchos disponibles. Yo recomiendo esta:
https://pypi.org/project/python-secrets (https://pypi.org/project/python-secrets)

La ventaja que Dan los KMS es que encryptan tus claves y te permite distruibuirlas de manera Segura asi que podras decryptar tus archivos desde otros equipos con El mismo programa. Python-secrets no encrypt tus claves pero las Guarda en entornos aislados y condigura permisos de acceso para accesarlas.