Seite 1 von 1

Eingaben verschlüsseln

Verfasst: Donnerstag 3. Juli 2003, 14:38
von sliwalker
hi,

nachdem meine passwort abfrage fertig ist (mit und ohne dictionary)
hier nochmal die (ohne cictionary)version:

Code: Alles auswählen

print "SLI Access"

path="c:/Programme/Programmierplatformen/Python/projecte/"
file="codelist.txt"
datei=path+file
codelist=[]
code=user+pasw

user=raw_input("Username: ")
pasw=raw_input("Passwort: ")
in_file=open(datei,"w")
codelist.append(code)
in_file.close()

print "Jetzt die Abfrage: "
user=raw_input("Username: ")
pasw=raw_input("Passwort: ")
if user+pasw in codelist:
    print "Access granted"
else:
    print "Access denied"
würde ich gerne die eingaben verschlüsseln.
in nem anderen thread erwähnte jemand was von nem modul.
das würd ich lieber später versuchen.
im moment fällt mir nur nix zu einer logischen verschlüsselungsmethode ein, bzw. wie schreibt man:

- das jeder buchstabe der eingabe z.b. um 5 zeichen im alphabet verschoben werden soll?
hatte da an sowas wie:

Code: Alles auswählen

def up():
   bla bla
   return newi
for i in eingabe[]:
     i=i+up()
fragt mich nicht was das " i " heissen soll.es soll zumindest jeden einzelnen buchstaben representieren. :oops:
ich weis es halt noch nicht besser. :roll:
hat jemand lust mir zu helfen?

Verfasst: Donnerstag 3. Juli 2003, 16:16
von Dookie

Code: Alles auswählen

def up(x):
    return chr((ord(x) + 4) % 256)

crypted = ""
for i in eingabe:
    crypted = crypted+up(i) # kann auch als "crypted += up(i)" geschreiben werden
eingabe enthält den das passwort, und crypted das verschlüsselte Passwort, in dem die Zeichen um 4 stellen im ASCII-Code verschoben sind. Ich würde aber gleich das md5 Modul zur verschlüsselung verwenden.

Gruß

dookie

Verfasst: Donnerstag 3. Juli 2003, 18:17
von hans
Dookie hat geschrieben:..... Ich würde aber gleich das md5 Modul zur verschlüsselung verwenden.
Ich hätte erst gar nichts anderes in Erwägung gezogen. Alles was ich so gehört habe, ein sehr sicheres Verfahren und ich glaube auch OS unabhängig.

Hans

Verfasst: Freitag 4. Juli 2003, 07:56
von NEBULA
Hi,

bisher bin ich eigentlich davon ausgegangen, dass das MD5-Modul und auch das SHA-Modul mehr was fuer Checksummen bzw. Fingerprints und so weiter ist ??????

Kann man mit dem Modul auch ver- und entschluesseln?

Wenn ja, wie ? :)

Wie gesagt ich war bislang der Meinung nein und hab daher zur Verschluesselung das Modul rotor benutzt(Verschluesselung aehnlich der Enigma-Maschine, nicht bombensicher aber gegen neugierige Blicke ;) )

Verfasst: Freitag 4. Juli 2003, 08:15
von joerg
Es stimmt, md5 und sha sind keine reversiblen Verschlüsselungen, sondern sie erstellen quasi eine Fingerabdruck eines Strings.

Trotzdem werden sie zum Abspeichern von Passwörtern benutzt, eben weil das Verfahren irreversibel ist! Man will ja nicht ein Passwort wieder im Klartext haben (wenn dein Programm das kann, können andere es auch!), sondern nur mit einer Eingabe vergleichen.

Der Trick ist, daß es so gut wie unmöglich ist, einen String zu erraten bzw. errechnen, der einen gegebenen Fingerabdruck ergibt.

Es gibt zwar immer mehrere Strings, die den selben Fingerabdruck haben, aber die muß man erstmal finden.

Vergleicht man also den Fingerabdruck eines eingegebenen Passwords mit einem abgespeicherten Fingerabdruck, kann man zwar nicht 100%ig sicher sein, daß das Passwort auch korrekt ist, aber die Sicherheit ist nach heutigen Maßstäben völlig ausreichend.

Reversible Verschlüsselungen bieten immer mehr Angriffspunkte! Es braucht nur mal jemand an den Verschlüsselungscode gelangen, und schon kann er ihn analysieren und damit gespeicherte Passwörter zurückwandeln.

Jörg

Verfasst: Freitag 4. Juli 2003, 08:55
von NEBULA
mmmmmmmm :D

dank dir