Nuestro equipo redactor ha estado largas horas investigando para darle solución a tu búsqueda, te brindamos la respuesta de modo que deseamos resultarte de mucha ayuda.
Solución:
Si solo desea evitar mirar casualmente una contraseña, puede considerar codificar/decodificar la contraseña a/desde base64. No es seguro en lo más mínimo, pero la contraseña no será legible por humanos/robots.
import base64
# Encode password (must be bytes type)
encoded_pw = base64.b64encode(raw_pw)
# Decode password (must be bytes type)
decoded_pw = base64.b64decode(encoded_pw)
Obviamente, su mejor opción es delegar esto a un tercero. Si puede autenticarse con lo que sea que se esté conectando usando alguna otra credencial (por ejemplo, la cuenta de usuario con la que se ejecuta su proceso), puede dejar los niveles de permiso hasta la capa del sistema operativo. Alternativamente, si es lo suficientemente importante/posible, puede solicitar al usuario (almacenar el key en el (posiblemente) software ligeramente menos pirateable en su lugar)
Si usted hacer necesita almacenar alguna contraseña o keyte recomiendo que lo guardes separar de su código, en un archivo que lea y desofusque si es necesario. Esto tiene las ventajas de que:
-
Puede configurar los permisos de archivo en el archivo lo más ajustado posible (es decir, solo legible por la cuenta con la que se ejecuta su programa), a diferencia del resto de su programa, que puede ser leído por más personas.
-
¡No lo registrará accidentalmente en su sistema de control de versiones!
-
No es necesario restringirse a caracteres imprimibles (o usar escapes incómodos) para una pitón string, por lo que puede usar un archivo de claves arbitrario si es posible, en lugar de una contraseña legible por humanos. Si no es ingresado por humanos, no hay razón para tener todas las debilidades de las contraseñas.
Para ofuscar, puede usar base64 como se sugiere, o algún esquema casero como XORing o descifrar con otro key almacenado en otro lugar, lo que requiere que se examinen ambos lugares. Tenga en cuenta que esto no protege contra nada más allá de la navegación oportunista del hombro (si eso) – asegúrese de que haya algún nivel de real la seguridad también (¡incluidas las obvias como el acceso físico a la máquina!)