Passwortgenerator für .htpasswd in Python?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

.oO(Da hat aber jemand einen alten Thread rausgekramt)
Master_of_Mechanic hat geschrieben:Das DOS-Utility HTPASSWD.EXE finde ich nicht gerade ansprechend, vorallem da es sich nicht in Python einbauen läst. :D
Du könntest diese EXE Datei evtl. mit subprocess nutzten: [wiki]Neue Features#Subprocess[/wiki]

Aber schau mal hier: http://docs.python.org/lib/module-crypt.html

IMHO kann man auch MD5 und SHA in .htaccess Dateien nutzten...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Master_of_Mechanic hat geschrieben:Das DOS-Utility HTPASSWD.EXE finde ich nicht gerade ansprechend, vorallem da es sich nicht in Python einbauen läst. :D
Hallo MoM!

Das ist aber oft die einfachste und naheliegendste Variante. Einfach ein schon vorhandenes Tool nehmen und über Python aufrufen.

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import subprocess
from subprocess import PIPE

HTPASSWD = r"J:\Apache\bin\htpasswd.exe"


def generate_passwd(username, password):
    args = [HTPASSWD, "-b", "-n", "-", username, password]
    p = subprocess.Popen(args, executable = HTPASSWD, stdout = PIPE, stderr = PIPE)
    return p.stdout.read()


def main():
    print generate_passwd("gerold", "uuu")


if __name__ == "__main__":
    main()

Code: Alles auswählen

gerold:$apr1$QV3.....$YTlQn5PAhVIeosSJtLbns.
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Master_of_Mechanic hat geschrieben:wäre eine schöne Sache mit hilfe des Moduls crypt verschlüsselte Passwörter für die .htpasswd Datei zu erstellen. Leider bleibe ich als Windows user dabei aussen vor. :(
Dazu gibt es eben SSH: man generiert das Passwort aauf dem Server und schreibt es gleich an die richtige Stelle. Praktisch.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

Da ja einige ganz begeister von diesem "JS MD5 Password" Ding sind stell ich mal eine Frage: "Ist das sniffen eines Plaintext Passwords leichter als das sniffen einer MD5 Zeichenkette?"

Ich glaube nicht ;)
-> MD5 Javascript = Scheinsicherheit

lgherby
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Naja solche Challange Response Algorithmen schützen nicht vor einem Man in the Middle Angriff. Dabei wird dann entweder das Javascript so manipuliert dass es das Passwort heimlich weiterleitet oder es wird ganz einfach der ganze Login umgeleitet. Das selbe Problem besteht auch beim Verwenden von SSL ohne die entsprechenden Zertifikate/Publickeys zu überprüfen. Die SSL Implementierung von CPython erlaubt das derzeit nicht und ist somit eigentlich nicht zu gebrauchen.

Die Sicherheit von solchen Methoden sind also eher gering ;)
Antworten