Come nascondere la password dell'account della posta in un file di configurazione?
-
21-12-2019 - |
Domanda
Ho un programma Python3 che invia e-mail.Legge le variabili da un file di configurazione, e una di queste è la password dell'account e-mail che invia le e-mail.Ora, è in chiaro testo, ma non dovrebbe, quindi sto cercando un modo per nasconderlo.
Ho pensato di scrivere direttamente il risultato dell'applicazione di MD5 alla password, come ad esempio:
password = 'write_here_the_password_encrypted'
.
Ma il seguente codice non funzionerebbe:
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username, password)
server.sendmail(from_email, to_emails, msg)
server.quit()
.
C'è comunque per rendere il lavoro la linea server.login(username, password)
se la password è crittografata?
Soluzione
Il metodo login
da SMTP ha bisogno solo di una password semplice, non ad alcuni di esso, quindi l'unico modo per farlo funzionare - UnenCrypt Password prima di passare a login()
.
Ma come MD5 è una funzione di hash a senso unico (o destinato ad essere un modo), quindi non è possibile decodificare la password, una volta che l'hai codificato in Hash MD5.Ma anche se potessi, che chiunque abbia accesso alla tua configurazione potrebbe anche.
Cosa è necessario fare - è separare le password e altre informazioni sensibili per separare il file e memorizzarlo in posizione sicura, non accessibile a persone non autorizzate.