Ho provato a generare la password per postgres
utilizzando hashlib
da Python.Generazione della password utente postgresql
>>> import hashlib
>>> hashlib.md5("psql123").hexdigest()
2636d1ddc54901f98d011ffe050c0eb7
Ma PostgreSQL richiede md5
prefisso, così poi
sudo -u postgres psql
ALTER USER postgres PASSWORD 'md52636d1ddc54901f98d011ffe050c0eb7';
Tuttavia, l'autenticazione potrebbe non riuscire se uso psql123
come password.
Se uso passlib
, sto bene. Vedere http://pythonhosted.org/passlib/lib/passlib.hash.postgres_md5.html
Fare quanto segue utilizzando psql123
come password è okay.
ALTER USER postgres PASSWORD 'md556074e7318bd4cee558faab0678a2fad';
Non capisco quello che l'avviso in passlib
voglio dire. Va bene usare questo hash per l'utente postgres
? Inoltre, dove nel documento si dice che username
deve essere parte dell'input?
Suppongo che questo sia il motivo per cui postgres
non è in grado di comprendere il risultato da hashlib
. Come utente LDAP, posso generare una password nella shell. Postgres ha un comando integrato per farlo? Lo ha psycopg2
? Sembra che non sia così.
Grazie mille. Invito entrambi, ma dal momento che hai risposto a tutte le mie preoccupazioni, ti controllerò. Ma ringrazio entrambi. NO, l'hash è solo per l'account utente 'postgres', non per l'account utente app. Questo tipo di hash mi ricorda le due ingenue costruzioni MAC che conducono ad attacchi di estensione/lunghezza, es. – CppLearner