/ / Migrazione da FOSUserBundle a Django - django, fosuserbundle

Migrazione da FOSUserBundle a Django - django, fosuserbundle

Sto migrando un sito php con FOSUserBundle in un modello utente Django.

Il contenuto di app/config/security.yml:

security:
encoders:
FOSUserBundleModelUserInterface: sha512

Valori di password / sale da un test utente sul sito PHP:

  • parola d'ordine: 3EBoIIMrD73n2y+4hMUpCq2lmJ8tHStrBweonQClP+/Jhmaw7ipLbamQJQfB87Acg45sBH3HlgnpKI+QZN7m/Q==
  • sale: 2n4fxtazv1us0csgg8s880ck4skcskg
  • La password utilizzata è amdpower

Ho provato a generare lo stesso hash con questo codice:

raw_password = "amdpower"
salt = "2n4fxtazv1us0csgg8s880ck4skcskg"

salted = "%s{%s}" % (raw_password, salt)
digest =  hashlib.sha512(salted).digest()
for i in range(5000):
digest = hashlib.sha512(digest).digest()
print base64.b64encode(digest)
>>> wqgbbFZ/IPvwZktbmYz7inffofmT5HbRNf04BQ+w33Jgman8uVYbjWyiKzfp5EIFX2wqYGOb7hRzi5BdZlzDKw==

Cosa c'è di sbagliato nel codice di hashing che ho provato? Come posso generare lo stesso hash?

Aggiornare:

Le funzioni PHP sono:

risolto:

raw_password = "amdpower"
salt = "2n4fxtazv1us0csgg8s880ck4skcskg"

salted = "%s{%s}" % (raw_password, salt)
digest =  hashlib.sha512(salted).digest()
for i in range(4999):
digest = hashlib.sha512("%s%s" % (digest, salted)).digest()
print base64.b64encode(digest)
>>> 3EBoIIMrD73n2y+4hMUpCq2lmJ8tHStrBweonQClP+/Jhmaw7ipLbamQJQfB87Acg45sBH3HlgnpKI+QZN7m/Q==

risposte:

0 per risposta № 1

Qui ho ricreato lo scenario su come Symfony blocca la password.

http://codepad.org/AhC64q4r

Ora si tratta di convertirlo in python, che so che puoi farlo Juan :)