Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

MD5-Algorithmus unter QuickBasic
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
gandro



Anmeldungsdatum: 18.02.2005
Beiträge: 108
Wohnort: Schweiz

BeitragVerfasst am: 18.02.2005, 19:59    Titel: MD5-Algorithmus unter QuickBasic Antworten mit Zitat

Hallo ...

Ich suche eine Routine (oder eine Anleitung wie ich eine mache, auf Deutsch) für QuickBASIC 7.1 (PDS), mit der ich aus einem String eine MD5-Summe produzieren kann. Ich habe auf qbasic.de irgendwo gelesen, dass es eine Lib gibt, die das für PowerBasic ermöglicht. Gibt es sowas auf für QuickBasic (7.1) bzw. woher bekomme ich eine deutsche Anleitung (ich kenne RFC1321, verstehe sie aber nicht missbilligen ) um eine solche Routine zu programmieren und in mein Programm einzubauen. Leider kann ich nicht einfach ein Kommandozeilen MD5-Tool per SHELL Befehl einzubauen.

Ich wäre froh wenn mir jemand helfen könnte...

Greetz

gandro
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Quark48



Anmeldungsdatum: 16.10.2004
Beiträge: 559
Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern

BeitragVerfasst am: 18.02.2005, 20:43    Titel: Antworten mit Zitat

Hallo!

Für was brauchst du denn einen MD5-Algoritmus?
Für Prüfsummen o.ä.? Dann reicht auch CRC16 oder
sogar das Zusammenzählen der Werte der einzelnen
Bytea aus. Letzteres erkennt aber leider keine vertauschten
Zeichen usw.
Also für Prüfsummen würde ich CRC16 / CRC32 empfehlen.
_________________
Grüßle, Stefan lächeln
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht! happy
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 18.02.2005, 22:03    Titel: Antworten mit Zitat

Hm, damit könnte man bei phpBBs passwörter knacken wenn man an die DB-Einträge kommt durchgeknallt
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 18.02.2005, 22:07    Titel: Antworten mit Zitat

Message Digest 5 ist unter RFC 1321 definiert:

http://www.ietf.org/rfc/rfc1321.txt

Unter RFC 3174 wird noch das alternative SHA1-Hashberechnungsverfahren beschrieben.

In beiden RFCs sind Codebeispiele zu finden; für jemand, der sich mit C/C++ etwas auskennt, sollte es nicht schwer fallen, das Ganze nach QB zu portieren!

Linux:
Code:
man md5sum
man sha1sum

(zwei Shellbefehle - empfehlenswert, um die korrekte Funktionsweise des QB-Programms testen zu können!)
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
gandro



Anmeldungsdatum: 18.02.2005
Beiträge: 108
Wohnort: Schweiz

BeitragVerfasst am: 18.02.2005, 23:22    Titel: Antworten mit Zitat

Wie schon gesagt kenne ich die RFC1321 Doku, sie nützt mir aber nichts da ich nicht sehr gut Englisch kann (und schon gar keine Mathematischen Ausdürcke) und 2. leider auch kein C ...

Ich suche eine Möglichkeit, ohne Shell Befehl eine Zeichenfolge in MD5-Code zu verwandeln...
Oder, falls es wie ich denke im moment keine solche Routine gibt, woher ich eine deutschsprachige MD5-Dokumentation bekomme ....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stephan



Anmeldungsdatum: 05.10.2004
Beiträge: 358
Wohnort: Hessen - 20km Nördlich von Frankfurt am Main

BeitragVerfasst am: 19.02.2005, 13:22    Titel: Antworten mit Zitat

@MisterD , damit kannst du keine einträge knacken,
die MD5 verschlüsselung ist ja frei zugänglich,
der Harken an der sache ist nur, das ja nicht die passwörter verglichen verden,
sondern die prüfsummen.

Und ein zurückrechnen der Prüfsumme in das passwort ist nicht möglich.
_________________
'Wir schätzen die Zeit erst, wenn uns nicht mehr viel davon geblieben ist.'
Leo Tolstoi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 20.02.2005, 13:34    Titel: Antworten mit Zitat

das mein ich ja. du probierst der reihe nach alle PWs durch. Du übersetzt jedes per MD5 und vergleichst das dann.. das geht schon. du weißt dann ja das Quellwort der Sequenz da du es eben verschlüsselt hast.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stephan



Anmeldungsdatum: 05.10.2004
Beiträge: 358
Wohnort: Hessen - 20km Nördlich von Frankfurt am Main

BeitragVerfasst am: 20.02.2005, 14:29    Titel: Antworten mit Zitat

Jo,per Bruce Force kannst du jedes Passwort knacken,
es ist nur eine Frage der Zeit.

Und wenn das Ursprungs passwort z.b. 20 Zeichen lang ist, und noch zeichen wie §$%&/()-:, enthält, wirst du vermutlich Jahre brauchen.
_________________
'Wir schätzen die Zeit erst, wenn uns nicht mehr viel davon geblieben ist.'
Leo Tolstoi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 20.02.2005, 18:53    Titel: Antworten mit Zitat

ja, mit QB sowieso. durchgeknallt
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gandro



Anmeldungsdatum: 18.02.2005
Beiträge: 108
Wohnort: Schweiz

BeitragVerfasst am: 20.02.2005, 20:07    Titel: Antworten mit Zitat

So wie es aussieht ist MD5 nicht für QB geschaffen mit den Augen rollen

Aber kennt jemand gerade ein (leicht) verständliches Tutorial für eine Verschlüsselunge, die sich nicht entschlüsseln lässt (für QB natürlich zwinkern )
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 20.02.2005, 20:09    Titel: Antworten mit Zitat

Geh mal auf

www.east-power-soft.de

da ist ne gute erklärung zur chew-crypto-methode, die is zimlich sicher und einfach zu implementieren. ich hab selber schon 2 (en-)coder darin geschrieben, einen in qb, einen in vb.
sollte recht leicht zu verstehen sein, ICH habs auf jeden fall gecheckt *g*

wenn du willst, kann ich dir mal n beispielprog zu schicken *g*


/Danke an E-P-S *g*
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gandro



Anmeldungsdatum: 18.02.2005
Beiträge: 108
Wohnort: Schweiz

BeitragVerfasst am: 20.02.2005, 20:27    Titel: Antworten mit Zitat

ich habe mir dieses crew-ding auch vorher schon angeschaut, aber das lässt sich ja wieder entschlüsseln (oder hab ich da was falsch verstanden verwundert )

Ich suche irgend so ein Algorithmus mit dem ich einen nicht mehr entschlüsselbaren Code kriege. Ist für eine Passwortabfrage. Das Passwort wird verschlüsselt gespeichert und wenn man ein Passwort eingibt wird das verschlüsselte eigegebene zusammen mit dem verschlüsselten gespeicherten verglichen und dann bestimmt, ob man rein darf oder nicht (Wie MisterD schon sagte)...
Das ganze darf nicht entschlüsselbar sein, da es ein OpenSource Programm gibt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 20.02.2005, 20:32    Titel: Bekannte Einweg-Verschlüsselungsverfahren Antworten mit Zitat

UNIX/Linux:
Code:
man crypt

=> ist dort die Standard-Passwortverschlüsselung für /etc/shadow

Windows NT 4.0 (SAM-Datenbank):
Dort gibt es die LM-Hashes; Quellcode, wie man einen LM-Hash berechnet, ist in Samba enthalten.

Ausserdem gibt es dort natürlich noch den wesentlich stärkeren NTLM-Hash. Ist meines Wissens ein MD4. Codebeispiel dazu ist auch wieder im C-Quellcode von Samba zu finden.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
gandro



Anmeldungsdatum: 18.02.2005
Beiträge: 108
Wohnort: Schweiz

BeitragVerfasst am: 20.02.2005, 20:35    Titel: Re: Bekannte Einweg-Verschlüsselungsverfahren Antworten mit Zitat

dreael hat Folgendes geschrieben:
UNIX/Linux:
Code:
man crypt

=> ist dort die Standard-Passwortverschlüsselung für /etc/shadow

Windows NT 4.0 (SAM-Datenbank):
Dort gibt es die LM-Hashes; Quellcode, wie man einen LM-Hash berechnet, ist in Samba enthalten.

Ausserdem gibt es dort natürlich noch den wesentlich stärkeren NTLM-Hash. Ist meines Wissens ein MD4. Codebeispiel dazu ist auch wieder im C-Quellcode von Samba zu finden.


ja, aber da ich weder C kann noch auf externe Programme zugreiffen will, frage ich eben, wie ich das in QB realisieren kann...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 21.02.2005, 00:47    Titel: Antworten mit Zitat

gandro hat Folgendes geschrieben:
ich habe mir dieses crew-ding auch vorher schon angeschaut, aber das lässt sich ja wieder entschlüsseln ... Ich suche irgend so ein Algorithmus mit dem ich einen nicht mehr entschlüsselbaren Code kriege.


B I T T E ? ? ?

Wozu etwas verschlüsseln wenn es niemals entschlüsselt werden kann?
Dann kannst du ja gleich Zufallswerte irgendwo hinschreiben. Selbstverständlich kann auch die CHEW Methode entschlüsselt werden. Die Frage ist nur wie groß der technische / zeitliche Aufwand sein muß um eine Verschlüsselung zu "knacken" und ich denke für das was du vor hast (was auch immer) ist die CHEW Methode sicher genug.

Also für jetzt und in Zukunft ... 1. lesen, 2. verstehen, 3. fragen.
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
gandro



Anmeldungsdatum: 18.02.2005
Beiträge: 108
Wohnort: Schweiz

BeitragVerfasst am: 21.02.2005, 18:19    Titel: Antworten mit Zitat

also, das ganze ist wie schon gesagt für eine Passwortabfrage: Man gibt ein Passwort ein und es wird verschlüsselt gespeichert (unverschlüsselt wäre ja grobfahrlässig).
Später, vielleicht erst nach Wochen öffnet man die Passwortabfrage wieder und gibt erneut das Passwort ein. Das eingegebene Passwort wird verschlüsselt und mit dem gespeicherten (verschlüsselten) Code verglichen...

Das ganze könnte ja man mit einem geheimen Schlüssel realisieren, aber mein Programm soll OpenSource (also der Code ist frei zugänglich zwinkern ) sein, und da ist es nicht möglich, einen geheimen Schlüssel zu haben...

Jedes normale Passwortabfragesystem funktioniert so: z.B. Linux/Unix, dieses Forum, Windows NT, Netzwerkfreigaben usw.

Und unentschlüsselbare Verschlüsselungstechniken sind: MD4, MD5, SHA-1 usw.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 21.02.2005, 19:09    Titel: Antworten mit Zitat

Hallo.

Nimm doch gleich SHA256!
=> http://www.freevbcode.com/ShowCode.asp?ID=2565

Den VB Code musst du nur noch nach QB portieren, was nicht allzuschwer sein wird. lächeln

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
code



Anmeldungsdatum: 19.01.2005
Beiträge: 154

BeitragVerfasst am: 26.02.2005, 17:26    Titel: Antworten mit Zitat

ich hab auch noch einen tipp:

die methode mit dem Zufallsgenerator ist gar nicht schlecht.
Nur etwas abgewandelt:

Zerlege das Passwort in einzelne Bytes, und adier die ASCI- Werte. mit diesem Zahlenwert kannst du nun den Zufallsgenerator initallisieren.
Und dann einfach die methode wie oben beschrieben anwenden.

Du brauchst nun keinen schlüssel im quelltext, weil der schlüssel in abhänigkeit vom passwort produziert wird.

(natürlich kann man auch diese verschlüsselung knacken, indem man alle zahlen als initalisierungscode nimmt, aber das kommt einer Brute Force
Methode gleich zwinkern)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gandro



Anmeldungsdatum: 18.02.2005
Beiträge: 108
Wohnort: Schweiz

BeitragVerfasst am: 27.02.2005, 00:07    Titel: Antworten mit Zitat

@code; das hab ich jetzt nicht so ganz kapiert?

Also zuerst die ASCII Werte zusammenzählen (kein Problem) aber wie dann weiter?
Mit einer Zufallszahl verschlüsseln?
Könntest du es bitte nochmals erklären?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 27.02.2005, 15:02    Titel: Antworten mit Zitat

Naja, ganz einfach...:

Code:

INPUT "PASSWORT"; pass$

FOR byte = 1 TO len(pass$)
 vsByte = (RND * 256 + ASC(MID$(pass$, byte, 1))) MOD 256
 totalByte = totalByte + vsByte
NEXT


und schon erhältst du eine wunderbare Zahl, die (außer durch Brute force cool ) nicht mehr zu knacken ist. Da das Passwort recht lang sein kann, solltest du totalByte als LONG dimensionieren, wenn nicht sogar als Currency (oder so ähnlich, die Suffix ist auf jeden fall ein @.)

Wichtig ist aber, dass du dann in deinem Programm eine RANDOMIZE-Zeile hast. Und nicht RANDOMIZE TIMER, weil ja dann jedes mal was anderes rauskommt. Da kannst du dich jetzt entscheiden, ob die einfach im Programm eingebaut werden soll
(RANDOMIZE 1), oder ob das vom User als zweite sicherheit eingegeben werden soll (INPUT rand: RANDOMIZE rand).

Damit solltest du dann endgültig auf der sicheren Seite sein *g*
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz