Вы также можете рассмотреть возможность хранения пароля вне сценария и предоставления его во время выполнения.
например, fred.py
import os
username = 'fred'
password = os.environ.get('PASSWORD', '')
print(username, password)
который можно запустить как
$ PASSWORD=password123 python fred.py
fred password123
Дополнительные уровни «безопасности через неясность» могут быть достигнуты путем использования base64
(как предложено выше), использования менее очевидных имен в коде и дальнейшего отделения фактического пароля от кода.
Если код находится в репозитории, часто бывает полезно хранить секреты вне него , чтобы можно было добавить его ~/.bashrc
(или в хранилище, или сценарий запуска, ...)
export SURNAME=cGFzc3dvcmQxMjM=
и изменить fred.py
на
import os
import base64
name = 'fred'
surname = base64.b64decode(os.environ.get('SURNAME', '')).decode('utf-8')
print(name, surname)
затем повторно авторизуйтесь и
$ python fred.py
fred password123