2013-02-04 12 views
1

Existe-t-il une bibliothèque pour lazarus (pascal gratuit) qui supporte le cryptage asymétrique?Cryptage asymétrique dans lazarus

+0

Vous pouvez jeter un oeil ici: http://www.wolfgang-ehrhardt.de/crypt_fr.html –

Répondre

0

Pour effectuer un chiffrement asymétrique dans Lazarus, vous devez intégrer openssl.

Si vous utilisez windows télécharger http://slproweb.com/download/Win32OpenSSL_Light-1_0_1e.exe

Maintenant, vous pouvez utiliser OpenSSL dans lazarus comme ceci:

uses ..., Process; 

... 

procedure encrypt_file(); 
var hProcess : TProcess; 
begin 
    hProcess := TProcess.Create(nil); 
    hProcess.Executable := 'openssl'; 
    hprocess.Parameters.Add('aes-256-cbc'); 
    hprocess.Parameters.Add('-a -salt'); 
    hprocess.Parameters.Add('-in secrets.txt'); //input file 
    hprocess.Parameters.Add('-out secrets.txt.enc'); //output file 
    hProcess.Options := hProcess.Options + [poWaitOnExit, poUsePipes]; 
    hProcess.Execute; 
end; 

procedure decrypt_file(); 
var hProcess : TProcess; 
begin 
    hProcess := TProcess.Create(nil); 
    hProcess.Executable := 'openssl'; 
    hprocess.Parameters.Add('aes-256-cbc'); 
    hprocess.Parameters.Add('-d -salt'); 
    hprocess.Parameters.Add('-in secrets.txt.enc'); //input file 
    hprocess.Parameters.Add('-out secrets.txt.new'); //output file 
    hProcess.Options := hProcess.Options + [poWaitOnExit, poUsePipes]; 
    hProcess.Execute; 
end; 

Note: L'exemple est pour le chiffrement symétrique pour asymétrique lire cet article: http://www.devco.net/archives/2006/02/13/public_-_private_key_encryption_using_openssl.php

+0

Eh bien, vous n'avez pas besoin d'utiliser openssl? Il existe des bibliothèques de cryptage comme dpcrypt et certaines intégrées dans FPC lui-même ... – reiniero

1

Lazarus/FPC est livré avec les entêtes opensask afaik. Il n'est peut-être pas nécessaire de suivre la route du programme externe.

+0

des exemples, s'il vous plaît? – opc0de

+0

Certaines suites de sockets TCP/IP (LNET, Indy, Synapse) peuvent en faire usage. Étudie leur code. –

Questions connexes