Entwickler-Ecke

Sonstiges (Delphi) - Passwortschutz


juppinger - Sa 21.02.09 16:09
Titel: Passwortschutz
Hallo zusammen,

suche sowas http://www.delphi-treff.de/tipps/algorithmen/wiki/Vigen%C3%A8re/ jedoch mit Gross+Kleinschreibung, Zahlen, Sonderzeichen usw.

Hat jemand nen Tipp?

Danke
jup


Delete - Sa 21.02.09 16:20

http://www.swissdelphicenter.ch/de/showcode.php?id=1243


Dude566 - Sa 21.02.09 17:00

Verschlüsseln:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
// Verschlüsseln
procedure TForm1.Button1Click(Sender: TObject);
var
   key : string;
   i : integer;
begin
     key := Edit1.Text;
                for i := 1 to Length(key) do
                    begin
                    key[i]:=Chr((Ord(key[i]) Xor (i*i-i))+(3+i)*(7+i));
                    end;
     Edit2.Text := key;
end;


Entschlüsseln:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
// Entschlüsseln
procedure TForm1.Button2Click(Sender: TObject);
var
   key : string;
   i : integer;
begin
     key := Edit2.Text;
        for i := 1 to Length(key) do
            begin
            key[i]:=Chr((Ord(key[i])-(3+i)*(7+i)) Xor (i*i-i));
            end;
     Edit1.Text := key;
end;


juppinger - Mo 02.03.09 17:58

Hallo zusammen,

verstehe ich richtig, dass bei der 1. Antwort nur folgende Zeichen funktionieren:

'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +
'abcdefghijklmnopqrstuvwxyz0123456789+/';

??

Ich will jedoch sämtliche Zeichen verschlüsseln.

Die 2. Antwort gefällt mir gut, weil sie recht simple ist. Jedoch habe ich dort keinen "key".

Hat noch jemand nen Tipp?

Danke,
jup


Delete - Mo 02.03.09 18:09

Warum hast du keinen Key? Der Key ist das Passwort und der kommt in dem Beispiel aus den Edit2. Etwas ohne Passwort zu verschlüsseln ist irgendwie nicht sehr sinnvoll, wie ich finde.


juppinger - Mo 02.03.09 18:26

Hi,

und was ist der zu verschlüsselnde Text?

Gruß,
jup


Delete - Mo 02.03.09 18:29

user profile iconjuppinger hat folgendes geschrieben Zum zitierten Posting springen:
und was ist der zu verschlüsselnde Text?

Gute Frage. Wenn Key der Text ist, fehlt das Passwort.


Dude566 - Mo 02.03.09 19:40

Key is doch nur der String, kannste meinetwegen auch Password nennen. :roll:


juppinger - Mi 04.03.09 23:58

Hey Leuts... bitte prüft den Code mal! Da gibts ein Key bzw. Passwort.
Aber DEFINITIV keinen zu verschlüsselnden Text.

Gruß,
jup


jaenicke - Do 05.03.09 00:08

Umgekehrt. Es gibt keinen Schlüssel, weil der für diese Verschlüsselung nicht notwendig ist.

Die Bezeichnung key für den zu ver- bzw. entschlüsselnden Text ist sicherlich ungünstig gewählt.


juppinger - Do 05.03.09 00:20

Nein --- bitte nur Antworten, die meiner Frage helfen...

Die 2. Antwort (des von mir ursprünglich gestellten Posts) gefällt mir gut, weil sie recht simple ist. Jedoch habe ich dort zwar einen KEY, aber *KEINEN* zu verschlüsselnden Text!!!

Gibts so was mit Key+Text für ALLE Zeichen + Sonderzeichen ???

Thx,
jup


jaenicke - Do 05.03.09 00:24

user profile iconjuppinger hat folgendes geschrieben Zum zitierten Posting springen:
Die 2. Antwort (des von mir ursprünglich gestellten Posts) gefällt mir gut, weil sie recht simple ist. Jedoch habe ich dort zwar einen KEY, aber *KEINEN* zu verschlüsselnden Text!!!
Wie oft denn noch? Der zu verschlüsselnde Text heißt dort key...


ffgorcky - Di 10.03.09 19:54

Hallo juppinger,

nur, um das ganze noch einmal etwas genauer darzustellen:
Die Prozedur durchläuft Deinen zu verschlüsselnden Text - hier mit der Variable "key" dargestellt, der vorher aus Deiner Textbox eigelesen wurde - und verschlüsselt ihn wirklich zeichenweise von vorne nach hinten.
Das heißt: Wenn Du sagst, dass ein "H" zu einem "J" werden soll, dann sieht "Hallo" (also der Wert von key) nach dem ersten Durchlauf der for-Schleife so aus: "Jallo" - dadurch könntest Du dann am Ende zum Beispiel "Jixxs" oder so etwas herausbekommen. (Das ist jetzt nur abstrakt - nicht wirklichkeitsnah!)

Also (wie oben eigentlich schon gesagt): Die Routine wandelt die Zeichenfolge direkt in Deiner Variable um. - Also hast Du danach die alte Zeichefolge nicht mehr - es sei denn (was zu empfählen wäre), dass Du die Variable vorher einmal kopierst.


Andreas L. - Di 10.03.09 21:38

Du könntest dir auch mal RCX anschauen: http://www.delphipraxis.net/post353886.html#353886


Delete - Mi 11.03.09 00:41

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Die Bezeichnung key für den zu ver- bzw. entschlüsselnden Text ist sicherlich ungünstig gewählt.

Ich sage nur "Clean Code": http://www.michael-puff.de/Artikel/CleanCode.shtml :roll: