También podría considerar la posibilidad de almacenar la contraseña fuera del script y proporcionarla en tiempo de ejecución
por ejemplo fred.py
import os
username = 'fred'
password = os.environ.get('PASSWORD', '')
print(username, password)
que se puede ejecutar como
$ PASSWORD=password123 python fred.py
fred password123
Se pueden lograr capas adicionales de "seguridad a través de la oscuridad" usando base64
(como se sugirió anteriormente), usando nombres menos obvios en el código y distanciando aún más la contraseña real del código.
Si el código está en un repositorio, a menudo es útil almacenar secretos fuera de él , por lo que podría agregar esto a ~/.bashrc
(o a una bóveda, o un script de lanzamiento, ...)
export SURNAME=cGFzc3dvcmQxMjM=
y cambiar fred.py
a
import os
import base64
name = 'fred'
surname = base64.b64decode(os.environ.get('SURNAME', '')).decode('utf-8')
print(name, surname)
luego vuelva a iniciar sesión y
$ python fred.py
fred password123