Hier sind ein paar Routinen, die direkt aus einem Code stammen, an dem ich einmal gearbeitet habe. Sie verwenden die meisten der von Ihnen genannten Verschlüsselungsmethoden. Wie in den Kommentaren erwähnt, müssen Sie wirklich mit den OpenSSL-Dokumenten vertraut werden. Ich habe die folgenden Sachen erstellt, indem ich sie gelesen habe und die C-Quelle für das Programm openssl.exe durchlaufen habe. (Von openssl.org heruntergeladen).
Es ist nicht perfekt und macht ein paar Annahmen, aber es zeigt die Grundlagen der Verwendung der Routinen in Delphi.
Die ursprüngliche Inspiration, wie ich schon mehrmals auf SO (!) erwähnt habe, wurde aus dem Zeug bei Ссылка , die Sie bereits oben verlinkt haben.
EDIT: hinzugefügt eine Import-Einheit an der Unterseite, um zu ergänzen, was in den Indy-Headern war, als ich diese Methoden erstellte. Ich habe nicht in letzter Zeit geschaut, so dass einige davon möglicherweise bereits in Indy verfügbar sind.
Entschlüsselung:
%Vor%Meine zusätzliche Importeinheit:
%Vor%Für mich funktioniert die offene ssl, die erwähnt wird, aber es ist nicht kompatibel mit OpenSSL. Eine kompatible Funktion wird benötigt, wenn Sie sie in Java / Javascript entschlüsseln wollen. Damit es funktioniert, müssen Sie die Routine EVP_GetKeyIV durch den darunter liegenden Code ersetzen.
%Vor%Um einen Wert zu verschlüsseln und ihn zu kodieren benutze ich die folgende Routine:
%Vor%Um es zu testen, können Sie die sEncrypted Zeichenfolge in eine Datei in.txt speichern. (Vergessen Sie nicht, am Ende eine Eingabe zu machen) Um mit der offenen ssl zu entschlüsseln, benutzen Sie:
Öffnen Sie den Befehl sll
%Vor%In der out.txt sehen Sie den ursprünglichen Wert Test
Tags und Links delphi openssl freepascal pascal object-pascal