6 Stimmen

Umkehrung von django.contrib.auth.models.User Passwort, sha1 in lesbaren String

from django.contrib.auth.models import User
u = User.objects.get(username='test')
user.password
u'sha1$c6755$66fc32b05c2be8acc9f75eac3d87d3a88f513802

Ist es möglich, diese Passwortverschlüsselung rückgängig zu machen?

2 Stimmen

Es ist eigentlich nicht verschlüsselt. Sie ist gehasht, was es theoretisch unmöglich macht, sie mit absoluter Sicherheit rückgängig zu machen.

19voto

John Millikin Punkte 190278

Ja, das ist möglich. Man braucht nur ein paar Millionen Jahre und einen Computer von der Größe unseres Sonnensystems.

18voto

Humphrey Punkte 3890

Sha-1 ist ein einseitiger Hashwert. Er kann nicht rückgängig gemacht werden, außer durch einen Brute-Force-Angriff, der Millionen von Jahren dauern wird.

Es gibt einige Online-Datenbanken, mit denen Sie die Hash-Werte gängiger Wörter/Wortkombinationen umkehren können. Allerdings fügt django dem Passwort ein "Salz" hinzu, bevor es den Hash berechnet, sodass Sie django-Passwörter nicht umkehren können.

Deshalb wird eine Raute verwendet. Niemand kann Ihr Passwort herausfinden, nicht einmal Systemadministratoren :-)

8voto

Robert Greiner Punkte 28052

Nein, genau das ist der Punkt.

Wenn Ihr Benutzer sein Passwort vergessen hat, müssen Sie es zurücksetzen.

1voto

arulmr Punkte 8240

Django verwendet sha1 der ein Einweg-Hash für die Passwortverschlüsselung ist und "Salz" das Kennwort, bevor sie verschlüsselt werden. Es wird also viel länger dauern (vielleicht unser Leben lang), sie zu entschlüsseln. Die Passwörter werden gehasht, so dass niemand in der Lage ist, sie zu entschlüsseln, selbst wenn er die gehashten Werte hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X