![]() |
Verschlüsselten Text kopieren !
Liste der Anhänge anzeigen (Anzahl: 1)
Hi
ich wollte ein Const für das Passwort in mein Programm speichern aber da es mit Hex-Programmen schnell findbar ist, möchte ich das Const verschlüsselt in Programm speichern Ich habe wie in Bild das Const extern mit einem Programm verschlüsselt und wollte ich nun kopieren wenn ich die Zeile in Edit kopiere und in Code einfüge, dann bekomme ich 2 Zeilen (gebruchene Zeile) !!! Wie kann ich den Verschlüsselten Text sicher kopieren ? |
Re: Verschlüsselten Text kopieren !
Wenn jemand mit einem Hex-Editor an Dein Programm ran geht, dann ist es auch nicht mehr weit die Abfrage
if Input = Password then ... per Editor in if Input <> Password then ... umzuwandeln. Also mein Vorschlag: anderes Konzept. |
Re: Verschlüsselten Text kopieren !
Ansonsten ist das Problem Deiner Verschlüsselung, dass Du sicherlich Zeichen mit Kodierung < 32 erhältst. Das sind Steuerzeichen, die meisten davon können auf dem Bildschirm nicht dargestellt werden.
|
Re: Verschlüsselten Text kopieren !
Was Du als workaround machen kannst, wenn Du trotz allem das verschlüsselte im Const haben willst:
Delphi-Quellcode:
Und schon ist es trotz Steuerzeichen verwendbar.
function GetOrdString
( pValue : String ) : String; var I : Integer; begin Result := ''; for I := 1 to Length( pValue ) do begin if Length( Result ) > 0 then Result := Result + '+'; Result := Result + '#' + Ord( pValue[ I ] ); end; end; constPassword := GetOrdString( 'abc' ); // gibt die Zeichenkette '#97+#98+#99' zurück; Edit: Code korrigiert. |
Re: Verschlüsselten Text kopieren !
Dann würde ich es doch eher Base64 oder so kodieren.
|
Re: Verschlüsselten Text kopieren !
Dann müsste es zur Verwendung aber erst wieder dekodiert werden? So kann er es gleich weiterverarbeiten.
Delphi-Quellcode:
Was wäre ein überzeugender Vorteil, es noch mal zu mit größerem Aufwand in Base64 zu kodieren/ dekodieren?
procedure getThirdCharOrd
( pValue : String ); const cPassword = #0 + #97 + #7; var I : Byte; begin I := Ord( cPassword[ 3 ] ); ShowMessage( IntToStr( I ) ) ; // gibt 7 aus end; |
Re: Verschlüsselten Text kopieren !
Hallo,
eine kleine Verbesserung wäre es, wenn man nur ein surjektives Abbild des Kennworts hinterlegt - CRC32 oder eine Hash-Funktion kämen da in Frage, je nach Anforderung. Das Kennwort kann so nicht rekonstruiert werden. Grüße vom marabu |
Re: Verschlüsselten Text kopieren !
Mal anders herum. Ein Hash ist sicher sehr sinnvoll, aber wie schon erläutert. ein User, der mit einem Hex-Editor an das Programm rangeht, der kann sich auch aneignen, wie er den Programmcode von "if Input = RequestedPassword" in "if Input <> RequestedPassword" ändert. Damit wird alles außer dem Passwort akzeptiert. Da ist der Hash auch nix mehr Wert. Also ist ein anderes Konzept zu empfehlen.
Wenn das Programm nur vor unbefugten Zugriffen geschützt werden soll, dann fällt mir auf die Schnelle leider auch eine abhilfe ein. Soll aber der Inhalt, der aus externen Quellen geladen wird, nicht frei zugänglich sein, dann empfiehlt es sich den Inhalt zu verschlüsseln. Dann kann man mit der If-Umkehr-Methode nichts machen, da das Passwrot zwar angenommen wird, aber unbrauchbar ist, um die Daten der Quellen zu entschlüsseln. In dem Fall ist auch der Hash wieder sehr angebracht. Dann weiß zumindest niemand, welches Passwort brauchbar ist. Edit: Es soll heißen "... dann mir fällt auf die Schnelle leider auch keine Abhilfe ein. ..." |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 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-2025 by Thomas Breitkreuz