Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi DCPCrypt in RAD Studio 10.3/10.4 (https://www.delphipraxis.net/206080-dcpcrypt-rad-studio-10-3-10-4-a.html)

amigage 23. Nov 2020 12:36

AW: DCPCrypt in RAD Studio 10.3/10.4
 
Leider bräuchte ich hier ein wenig Hilfe.
Das Enkodieren und Umwandeln in Base64 fuktioniert soweit.

Delphi-Quellcode:
procedure TForm1.btnEncodeClick(Sender: TObject);
var
  Cipher_Mars : TCipher_mars;
  Ciphertext: TBytes;
  PlainText : Binary;

  strEncoded : TFormat_MIME64;
begin
   Plaintext := Edit1.Text;
   Cipher_Mars := TCipher_Mars.Create;
   strEncoded := TFormat_MIME64.Create;
   try
     Cipher_Mars.Mode := cmCBCx;
     Cipher_Mars.Init(password);
     SetLength(Ciphertext, Length(Plaintext));
     Cipher_Mars.Encode(Plaintext[1], Ciphertext[0], Length(Plaintext));

     Edit2.Text := strEncoded.Encode(CipherText, Length(Ciphertext));
   finally
     strEncoded.Free;
     Cipher_Mars.Free;
   end;
end;
Jedoch bekomme ich es nicht wieder dekodiert. Bei Cipher_Mars.Decode wird eine Zugriffsverletzung ausgegeben.

Delphi-Quellcode:
procedure TForm1.btnDecodeClick(Sender: TObject);
var
  Cipher_Mars : TCipher_mars;
  Ciphertext: TBytes;
  Mime64Text : Binary;

  strEncoded : TFormat_MIME64;
  strOriginalText : String;
  strDecoded : RawByteString;
begin
   Mime64Text := Edit2.Text;
   Cipher_Mars := TCipher_Mars.Create;
   strEncoded := TFormat_MIME64.Create;
   try
     strDecoded := strEncoded.Decode(Mime64Text);
     Ciphertext := BytesOf(strDecoded);

     Cipher_Mars.Mode := cmCBCx;
     Cipher_Mars.Init(password);
     Cipher_Mars.Decode(Ciphertext[0], strOriginalText[1], Length(Ciphertext));

     Edit3.Text := strOriginalText;
   finally
     strEncoded.Free;
     Cipher_Mars.Free;
   end;
end;
Übersehe ich hier irgendetwas?

TurboMagic 24. Nov 2020 19:55

AW: DCPCrypt in RAD Studio 10.3/10.4
 
Hallo,

ich versuchte gerade deinen Code mit DEC zum laufen zu bekommen.
Compilert aber nicht. Dann bin ich darauf gestoßen, dass dein Code den
Typ "binary" enthält.

Das war ein Alias der in DEC 5.2 sehr ausgiebig benutzt wurde.

Meine Idee war aber eigentlich gewesen, dass du den aktuellen Entwicklungsbranch
von DEC benutzt. Das ist eine fast fertige V6.0 bei der es viele strukturelle
Änderungen und Detailverbesserungen gibt, inkl. Ausdesignen des Typen binary
und Cross Platform Kompatibilität.

Ich meine also das Original von hier:
https://github.com/MHumm/DelphiEncryptionCompendium

Grüße
TurboMagic

amigage 25. Nov 2020 11:49

AW: DCPCrypt in RAD Studio 10.3/10.4
 
Okay, danke für den Hinweis. Dann werde ich mir einmal die Version 6.0 anschauen.

TurboMagic 25. Nov 2020 20:32

AW: DCPCrypt in RAD Studio 10.3/10.4
 
Man beachte auch, dass diese noch leicht unfertige V6.0 eine PDF-Dokumentation und
diverse Demoprogramme mitliefert!

Außerdem wurde das schwer verständliche Testprogramm durch Unit Tests ersetzt die
auch noch ein bisschen mehr Sachen testen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr.
Seite 2 von 2     12   

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