Lazarus / FPC带有openssh标题afaik。可能没有必要去外部程序路线。
要在Lazarus中进行非对称加密,您需要集成openssl。
如果你使用Windows下载 http://slproweb.com/download/Win32OpenSSL_Light-1_0_1e.exe
现在你可以在lazarus中使用openssl,如下所示:
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;
注意:该示例是针对非对称读取的对称加密本文: http://www.devco.net/archives/2006/02/13/public_-_private_key_encryption_using_openssl.php