Para armazenar com segurança uma combinação de nome de usuário e senha para uso em scripts Python executados por cron jobs, considere o seguinte opções:
A biblioteca de chaveiro se integra perfeitamente à API CryptProtectData no Windows e APIs relevantes em outras plataformas. Isso permite a criptografia de dados usando as credenciais de login do usuário. Seu uso simples envolve:
import keyring
# Define a unique namespace for your application
service_id = 'IM_YOUR_APP!'
# Set the password for a given username
keyring.set_password(service_id, 'dustin', 'my secret password')
# Retrieve the password
password = keyring.get_password(service_id, 'dustin')
Para armazenar o nome de usuário separadamente, abuse da função set_password:
import keyring
MAGIC_USERNAME_KEY = 'im_the_magic_username_key'
# Username to store
username = 'dustin'
# Store the password and username in the keyring
keyring.set_password(service_id, username, "password")
keyring.set_password(service_id, MAGIC_USERNAME_KEY, username)
# Retrieve username and password
username = keyring.get_password(service_id, MAGIC_USERNAME_KEY)
password = keyring.get_password(service_id, username)
Como os itens armazenados no chaveiro são criptografados com credenciais de usuário, outros aplicativos executados na mesma conta de usuário podem acessar a senha.
Para aumentar a segurança, considere ofuscar ou criptografar a senha antes de armazená-la no chaveiro. Isso adiciona uma camada extra de proteção, evitando exposição acidental por meio de recuperação automática de senha. No entanto, qualquer pessoa com acesso ao código-fonte do script ainda poderá descriptografar a senha.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3