AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Passwortabfrage bei Verschlüsselung

Passwortabfrage bei Verschlüsselung

Ein Thema von Kutter111 · begonnen am 23. Dez 2007 · letzter Beitrag vom 4. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2   
Kutter111

Registriert seit: 3. Nov 2005
31 Beiträge
 
Delphi 10.4 Sydney
 
#1

Passwortabfrage bei Verschlüsselung

  Alt 23. Dez 2007, 21:06
Hallo,

ich benutze dcpcrypt2 zum ver- und entschlüsseln meiner txt-Datei. Das funktioniert auch. Das Problem liegt eher daran, daß ich nicht verstehe wie ich die Passwortabfrage mache. Das heißt, wenn ich die Datei mit einem Passwort verschlüssle und dann wieder entschlüssle, ABER mit einem anderen Passwort, entsteht sozusagen Datenmüll. Wie kann ich das vermeiden und z.B. ein ShowMessage mit der Meldung, daß das Passwort nicht richtig ist, erscheint?
Ich hoffe, daß ich mich nicht zu blöd anstelle, aber ich habe schon viele Seiten in der DP durchgelesen (Danke an Hagen für die ausführlichen Erklärungen der Verschlüsselung), doch nichts hat mir wirklich geholfen.
Vielleicht hat jemand eine Idee.

Vielen Dank im Voraus.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Passwortabfrage bei Verschlüsselung

  Alt 23. Dez 2007, 21:12
Indem du deinen anstatt der reinen Datei den Stream (Passwort + Datei) verschlüsselst. Wenn du jetzt wieder entschlüsselst und sich eingegebenes und entschlüsseltes Passwort decken, ist das Passwort richtig.
  Mit Zitat antworten Zitat
23. Dez 2007, 21:16
Dieses Thema wurde von "sakura" von "VCL / WinForms / Controls" nach "Programmieren allgemein" verschoben.
Kutter111

Registriert seit: 3. Nov 2005
31 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Passwortabfrage bei Verschlüsselung

  Alt 23. Dez 2007, 21:40
Hallo,
Danke für die schnelle Antwort.
Das Verschlüsseln mache ich über den Stream, aber das Problem ist auch nicht das entschlüsseln, sondern daß die Datei unlesbar bzw. nicht mehr entschlüsselbar wird, wenn ein falsches Passwort eingegeben wird. Deswegen sollte, bevor versucht wird zu entschlüsseln, das Passwort verglichen werden und bei Falscheingabe eine Meldung kommen.
Ich habe das Problem auch bei der Demo der dcpcrypt2 festgestellt.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#5

Re: Passwortabfrage bei Verschlüsselung

  Alt 23. Dez 2007, 21:49
Du hast offenbar meine Antwort nicht verstanden... Mach das Passwort zum Teil der Datei!
  Mit Zitat antworten Zitat
Kutter111

Registriert seit: 3. Nov 2005
31 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Passwortabfrage bei Verschlüsselung

  Alt 23. Dez 2007, 22:04
Okay...

aber wenn das Passwort in der verschlüsselten Datei ist kann ich es doch nicht mit einem in einem TEdit eingegebenen Text vergleichen, oder doch?
Vielleicht ist ein bisschen Code gut( wie gesagt, aus der Doc von dspcrypt2 etwas abgewandelt):
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var Cipher: TDCP_rc4;
    KeyStr: string;
    TextInhalt:TStringList;
  begin
    TextInhalt:=TStringlist.Create;
    TextInhalt.LoadFromFile('C:\PW.TXT');
    KeyStr:= '';
    if InputQuery('Passphrase','Enter passphrase',KeyStr) then
    begin
      Cipher:= TDCP_rc4.Create(Self);
      Cipher.InitStr(KeyStr,TDCP_sha1);
      TextInhalt.Text:= Cipher.DecryptString(TextInhalt.Text);
      Cipher.Burn;
      Cipher.Free;
      TextInhalt.SaveToFile('C:\PW.TXT');
    end;
    TextInhalt.Free;
  end;
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#7

Re: Passwortabfrage bei Verschlüsselung

  Alt 23. Dez 2007, 22:07
Du hast meine Antworten nicht verstanden..

Pseudocode mit Strings als Daten:
Delphi-Quellcode:
string Passwort, Daten

Temp := Passwort + Daten;
Temp := Verschlüsseln(Temp);

---

Temp := Entschlüsseln(Temp);
if Copy(Temp, 1, Length(Passwort)) <> Passwort then
  ShowMessage('Passwort falsch!')
else
  Daten := Copy(Temp, Length(Passwort) + 1, Length(Temp));
  Mit Zitat antworten Zitat
Kutter111

Registriert seit: 3. Nov 2005
31 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Passwortabfrage bei Verschlüsselung

  Alt 23. Dez 2007, 22:12
Ich werde das versuchen...
aber wohl erst nach Weihnachten.
Ich gebe aber nicht auf und melde mich dann wieder.

Frohe Weihnachten an alle...
  Mit Zitat antworten Zitat
Kutter111

Registriert seit: 3. Nov 2005
31 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Passwortabfrage bei Verschlüsselung

  Alt 29. Dez 2007, 15:23
Hallo,

leider konnte ich mich erst jetzt wieder meinem Programm widmen.

@Dax: Das Problem ist damit leider nicht aus der Welt, denn das Entschlüsseln des Strings (bei Dir <Temp>) passiert ja dann schon vor dem Prüfen des Passwortes. D.h. der String wäre damit schon nicht mehr entschlüsselbar, und auch nicht mit dem Passwort vergleichbar.
Ich habe es jetzt über einen anderen Weg (die Idee kam mir aber durch Dax Vorschlag, ich weiß seeeehr seltsam...) gelöst. Und zwar verschlüssle ich das Passwort in einer 2. Datei. Vor dem Entschlüsseln der Daten verschlüssle ich das eingegebene Passwort mit dem gleichen Algorythms. Damit kann ich dann den Inhalt der 2. Datei mit dem Passwort vergleichen. Was mir allerdings daran nicht passt, ist: Wenn diese Datei versehentlich gelöscht würde hätte ich keinen Zugriff mehr auf meine Daten. Klar, das Problem hätte ich auch wenn ich die Daten lösche, aber die Chance ist eben höher , da ja dann zwei Dateien zum löschen da sind. Es muß doch noch eine andere Möglichkeit geben das Passwort vor der Entschlüsslung zu überprüfen. Hat noch jemand (Dax natürlich nicht ausgeschlossen eine weitere Idee?
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#10

Re: Passwortabfrage bei Verschlüsselung

  Alt 29. Dez 2007, 17:58
Zitat von Kutter111:
Hallo,

leider konnte ich mich erst jetzt wieder meinem Programm widmen.

@Dax: Das Problem ist damit leider nicht aus der Welt, denn das Entschlüsseln des Strings (bei Dir <Temp>) passiert ja dann schon vor dem Prüfen des Passwortes. D.h. der String wäre damit schon nicht mehr entschlüsselbar, und auch nicht mit dem Passwort vergleichbar.
...
Eben, dann weisst du, dass das Passwort falsch ist. Es ist nur richtig, wenn das entschlüsselte Passwort mit dem eingegebenen übereinstimmt.

Jede weitere Idee ist sinnlos - solange du die Vorschläge nicht verstehtst, besteht keine Hoffnung, dass du dein Problem lösen kannst. Du musst erst mal deine Denkblockade überwinden.

Gruss Reinhard
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz