Einzelnen Beitrag anzeigen

Stoni1001

Registriert seit: 2. Mär 2007
4 Beiträge
 
#1

DEC 5.2 - Unicode string Verschlüselung unter Delphi 2009

  Alt 25. Feb 2010, 10:52
Guten Tag,

Ich hab leider ein kleines Problem, bei der Verschlüsselung von einem Unicode string.

habe aus dem Post Delphi-Praxis
von Herrn Hagen den Code genommen.

Delphi-Quellcode:
class function TCrypt.Encode(const Key: String; const Text: String): String;
var
  Salt: Binary;
begin
  with TCipher_Rijndael.Create do
  try
    Mode := cmCBCx;
    Salt := RandomBinary(16);
    Init(THash_SHA1.KDFx(Key, Salt, Context.KeySize));
    Result := TFormat_MIME64.Encode(Salt + EncodeBinary(Text));
  finally
    Free;
  end;
end;

class function TCrypt.Decode(const Key: String; const Text: String): String;
var
  Data: Binary;
begin
  with TCipher_Rijndael.Create do
  try
    Mode := cmCBCx;
    Data := TFormat_MIME64.Decode(Text);
    Init(THash_SHA1.KDFx(Key, Copy(Data, 0, 16), Context.KeySize));
    Result := DecodeBinary(Copy(Data, 17, MaxInt));
  finally
    Free;
    ProtectBinary(Data);
  end;
end;

so einfache Texte wie 'Das ist ein Test' oder '12341234asdfgsdg' ist kein Problem zu ver- bzw. entschlüsseln
jedoch hab ich dann versucht den Text 'Alpha' auf griechisch (Αλπηα) zu verschlüsseln und bei meinem Test-Programm bekomm ich dann nach der Entschlüsselung folgenden string: '??p?a'

Noch zu meinem TestProgramm:

Ich geb in einem Edit meinen Text ein den ich entschlüsseln will. verschlüssel dann diesen und geb das Resultat in ein anderes Edit aus.
für das Entschlüsseln zieh ich dann quasi den Text vom 2ten Edit heran.

Ich hoff ihr könnt mir hier weiterhelfen. was mach ich falsch bzw. was müsste ich machen, damit ich auch griechische Zeichen verschlüsseln/entschlüsseln kann.

Danke schon mal im Voraus für eure Hilfe!
  Mit Zitat antworten Zitat