Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Einmal mit DEC Ver- und Entschlschlüsseln funktioniert nicht

  Alt 31. Dez 2006, 10:11
Nachdem ich seit kurzem (gestern ) DEC benutze, gibt es ein Verschlüsselungs und Enschlüsselungsproblem. Einmal mit DEC En/DeCoded ergibt leider nicht die Ausgangsdatei.

Hier meine Vorgehensweise:
Zuerst erstelle ich eine TStringList (ohne ""):
Zitat:
""
"<Anzahl Daten>"
""
"<Daten (1) Name>"
"<Daten (1) Info1>"
"<Daten (1) Info2>"
""
"<Daten (2) Name>"
"<Daten (2) Info1>"
"<Daten (2) Info2>"
...
Und die Verschlüssel und speichere ich nun:
Delphi-Quellcode:
fileCatalog{<== Die StringList}.Text := EnCode(frmPassword.Password, fileCatalog.Text);

fileCatalog.SaveToFile(sdSave.FileName);
Delphi-Quellcode:
function TfrmManager.EnCode(key, text: string): string;
begin
  with TCipher_Rijndael.Create do
    try
      Mode := cmCBCx;
      Init(THash_SHA1.KDFx(key, RandomBinary(16), Context.KeySize));
      Result := EncodeBinary(text);
    finally
      Free;
    end;
end;
Wenn ich die Dann lade:

fileCatalog.Text := DeCode(frmPassword.Password, fileCatalog.Text);
Delphi-Quellcode:
function TfrmManager.DeCode(key, text: string): string;
var
  Salt : Binary;
begin
  Salt := RandomBinary(16);

  with TCipher_Rijndael.Create do
    try
      Mode := cmCBCx;
      Init(thash_sHA1.KDFx(key, Salt, Context.KeySize));
      Result := DecodeBinary(text);
    finally
      Free;
    end;
end;
Dann kommt nicht das Entprodukt raus.
Ich kann außerdem ausschließen, dass die Datei (unverschlüsselt) fehlerhaft ist.
Also ist sie innerhalb des DeCode/Encode-Blocks.

Vor dem Verschlüsseln:
Zitat:
""
"2"
""
"a"
"b"
""
""
"1"
"2"
""
Nach dem Entschlüsseln
Zitat:
F5ñ“;¢’‚‚ôÌ‘GŽ˜ß Y]D&¢(âð¤
[edit]Es lag am "Salz", aber wie kann man es sonst benutzen?[/edit]

[edit]Öhm, aber jetzt ist etwas in der letzten "Zeile" kaputt ...[/edit]
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat