![]() |
Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
Wolgang Ehrhardt hat sehr schöne aber für mich auch unverständliche Hash- und Crypt-Units.
Die Hash-Units benutze ich schon. Ich würde gerne eine Datei mit einem Passwort verschlüsseln. Kann mir dazu einer ein Beispiel geben? |
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
Hallo,
ein Beispiel dafür habe ich dir dafür leider nicht. Aber du könntest dir evtl. mal DEC anschauen, welches anders als die Lösung des leider verstorbenen Wolfgang Erhards noch aktiv entwickelt wird und bei dem auch einfache Beispiele dabei sind. Beinhaltet sowohl Hash-Algorithmen als auch Verschlüsselungsalgorithmen und ist Cross Plattform kompatibel. Zu finden hier: ![]() Es kam erst am Sonntag ein neues Release davon raus. Grüße TurboMagic |
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
Ist es mit DEC möglich mit nur einer einzigen Zeile eine Datei zu ver- und zu entschlüsseln?
Delphi-Quellcode:
?
DEC_Verschlüssle_Datei(BeispielAlgorithmus, Datei, Passwort)
Alles andere ist mir leider zuviel Aufwand und erzeugt nur wieder Chaos im Code. Falls es das nicht gibt: das wäre ein guter Zusatz für DEC und meiner Meinung nach unverzichtbar. |
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
schau doch mal nach bei J. Rathlev
![]() dort findest Du den Link zu aeslib.zip und damit solltest Du durchaus weiter kommen. Eine kleine Hürde ergibt sich aus der fehlenden Datei gnugettext.pas. Die findest Du jedoch auch unter: ![]() und dort unter dem Beitragt #8. Dies ist ein wirklich übersichtliches Programm mit dem Standardprogramm AES für eine sichere Chiffrierung. Ich habe gute Erfahrungen mit dem AES-Algorithmus aus der lockbox und dem cn-pack gemacht und mir dazu einen RTF-Editor mit div. Zusatztools zur AES-Chiffrierung, Hash-Tool und Packprogramm und div. Konvertierungen geschrieben.Doch das ist sicher ein anderes Thema. |
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
Eine andere Variante wäre die LibSodium die gibt es auf verschiedenen Plattformen und Programmiersprachen.
|
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
So, hier ein kurzes Beispiel zur Nutzung der DEC für den betreffenden Anwendungsfall.
Die relativen Pfade kommen aus dem Umstricken eines Demoprogramms auf den Anwendungsfall. Braucht also mit Objekterzeugung und Freigabe 5 Zeilen. Dateien werden als Binärdateien betrachtet, auch wenn das Beispiel eine Textdatei benutzt.
Delphi-Quellcode:
program Cipher_File;
{$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, DECBaseClass in '..\..\Source\DECBaseClass.pas', DECCipherBase in '..\..\Source\DECCipherBase.pas', DECCipherModes in '..\..\Source\DECCipherModes.pas', DECCiphers in '..\..\Source\DECCiphers.pas', DECCRC in '..\..\Source\DECCRC.pas', DECFormat in '..\..\Source\DECFormat.pas', DECFormatBase in '..\..\Source\DECFormatBase.pas', DECTypes in '..\..\Source\DECTypes.pas', DECUtil in '..\..\Source\DECUtil.pas', DECData in '..\..\Source\DECData.pas', DECCipherFormats in '..\..\Source\DECCipherFormats.pas', DECUtilRawByteStringHelper in '..\..\Source\DECUtilRawByteStringHelper.pas', DECCipherInterface in '..\..\Source\DECCipherInterface.pas', DECDataCipher in '..\..\Source\DECDataCipher.pas'; var Cipher : TCipher_AES; begin Cipher := TCipher_AES.Create; try try // Schlüssel, Initialisierungsvektor, Füllwert um auf Blockgröße aufzufüllen Cipher.Init('Passwort', #1#2#3#4#5#6#7#64, 0); Cipher.Mode := cmCBCx; // Klartextdatei, verschlüsselte Datei Cipher.EncodeFile('test.txt', 'test.encr'); ReadLn; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; finally Cipher.Free; end; end. |
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
Ich kenne mich mit Verschlüsselung nicht aus. Der Vektor, ist das ein Wert den niemand sehen darf oder ist das egal?
Wie kommt dieser Vektor zustande? Kann ich da irgendwas hinschreiben? Wenn das mit DEC nur 5 Zeilen sind, ist das OK. |
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
Der IV ist sowas ähnliches wie das SALZ, damit bei gleichem Passwort mit gleichen Daten nicht überall auf der Welt das selbe Ergebnis entsteht,
also ja, der ist "geheim" und für dich/in deinem Programm solltest du was Eigenes benutzten. (eventuell sogar für jede einzelne Verschlüsselung was Anderes) ![]() ![]() Aber beim Ver- und Entschlüsseln natürlich jeweils das Gleiche. :angle2: Stell dir den IV einfach so vor, wie bei einem Hash den Startwert, mit dem die Berechnung beginnt. |
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
Wenn ich aus meinem Programm eine Datei verschlüsseln muss und das Programm an jemanden geben möchte, reicht es wenn der da das Passwort eingibt?
Oder muss der dann auch diesesIV eingeben? |
AW: Dateien verschlüssen mit Wolgang Ehrhardts Crypt-Units
Du kannst den IV mitgeben,
aber er kann der Einfachheit halber auch "fest" im Programm eingebaut sein. Die Summe aus IV und Key und Technik (Verschlüsselungsart/Modus, z.B. AES+CBC) ergibt die Verschlüsselung. > wird Einwas geändert, ergibt es ein anderes Ergebnis |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 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