2012-05-16 15 views
7

Come recuperare una password di un utente?come recuperare la password in django

u = User.objects.get(username__exact=username) 
print u.password 

display sha1$f0971$441cac8f604d49869e33ca125a76253a02fef64e

C'è una funzione per trovare la password da questa stringa codificata?

+0

ho bisogno di inviare per e-mail la password, quando l'utente fa clic sul collegamento password dimenticata. ma dal momento che è impossibile qual è la soluzione? – John

+2

Utilizza la funzionalità integrata per reimpostare la password, ad esempio creane una nuova anziché inviare l'e-mail all'originale. –

+0

ho visto molti siti Web che forniscono questa funzionalità. Triste, django non fornisce una soluzione alternativa. – John

risposta

17

No. È impossibile, in base alla progettazione. Ma non dovrebbe mai esserci la necessità di farlo comunque.

2

no. e non dovrebbe esserci. come parte della sicurezza, le password sono passati attraverso una funzione a senso unico prima di essere salvati, in modo che essi non sono crogiolava se il database è compromessa

che cosa si può fare è sostituire la password dell'utente con quella che si conoscere. questo è il modo (buono) delle funzioni "dimenticato la password" del lavoro: ti inviano una nuova password casuale, non quella vecchia, dal momento che (non dovrebbero) hanno accesso ad essa

7

A causa di restrizioni di sicurezza l'hash della password il metodo è a senso unico. Sarà necessario reimpostare la password dell'utente.

Provare a utilizzare il metodo set_password(raw_password) per fornire all'utente una nuova password. Ricordarsi di chiamare il metodo save() per assicurarsi di salvare la modifica al database.

u = User.objects.get(username__exact=username) 
u.set_password(raw_password) 
u.save() 
2

No, il campo contiene l'hash salato della password. dalla stringa sappiamo che è la funzione SHA1. Se hai la password, sarai in grado di produrre lo stesso valore di hash che funge da impronta. Per ragioni di sicurezza dovrebbe esserci ora il modo di recuperare la password in modo economico (è ancora possibile la forza bruta, ma richiederà molto tempo).,

Problemi correlati