AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi DEC 5.1: Problem bei sprachübergreifender Verwendung von DEC
Thema durchsuchen
Ansicht
Themen-Optionen

DEC 5.1: Problem bei sprachübergreifender Verwendung von DEC

Ein Thema von Skunklon · begonnen am 10. Feb 2008 · letzter Beitrag vom 11. Feb 2008
 
Skunklon

Registriert seit: 8. Feb 2008
3 Beiträge
 
#1

DEC 5.1: Problem bei sprachübergreifender Verwendung von DEC

  Alt 10. Feb 2008, 00:05
Hi, ich habe ein kleines Problem damit, dass ich mit Delphi 7 und DEC 5.1 eine Datei verschlüsseln (AES oder Blowfish) und mit Java/JCA die Datei wieder entschlüsseln möchte. Allerdings sind bisher alle Versuche gescheitert. Ich bekomme einfach die Datei nicht wieder entschlüsselt. Hat jemand schonmal Erfahrung mit der plattformübergreifenden Verschlüsselung mittels DEC?

Mein Delphi-Code sieht wie folgt aus:

Delphi-Quellcode:
  RegisterDECClasses([TCipher_Rijndael, THash_SHA1]);
  AMode := cmCTSx;
  ACipher := TCipher_Rijndael;
  Source := TFileStream.Create('origfile.zip', fmOpenReadWrite);
  try
    Dest := TFileStream.Create('encfile.enc', fmCreate);
    try
      with ACipher.Create do
        try
          Mode := AMode;
          Init(#1#2#3#4#5#6#7#8#9#10#11#12#13#14#15#16);
          EncodeStream(Source, Dest, Source.Size);
        finally
          Free;
        end;
    finally
      Dest.Free;
    end;
      //ProtectStream(Source);
  finally
    Source.Free;
  end;

Der vollständigkeithalber hier noch der Java-Code, den ich zur Entschlüsselung nutze:

Delphi-Quellcode:
    byte[] key = { (byte)1,(byte)2,(byte)3,(byte)4,(byte)5,(byte)6,(byte)7,(byte)8,(byte)9,(byte)10,(byte)11,(byte)12,(byte)13,(byte)14,(byte)15,(byte)16 };
    SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
    // Instantiate the cipher
    try {
      Cipher cipher = Cipher.getInstance("AES");
      cipher.init(Cipher.DECRYPT_MODE, skeySpec);
      InputStream in = new FileInputStream(new File("encfile.enc"));
      OutputStream out = new CipherOutputStream(new FileOutputStream(new File("new.zip")), cipher);
      byte[] dec = new byte[8192];
      int n;
      while(( n = in.read( dec )) > 0 ) {
          out.write( dec, 0, n );
      }

      in.close();
      out.close();
    } catch (Exception e) {
          e.printStackTrace();
    }

Fällt euch etwas ein, was da nicht passt? Beide Codes erzeugen eine Datei mit der richtigen Größe, aber nicht mit dem richtigen Inhalt... Ich habe es mit AES und Blowfish versucht, aber irgendwie passt es nicht.

Danke.
Gruß, Stefan
  Mit Zitat antworten Zitat
 


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 14:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz