是否有任何支持非对称加密的 lazarus ( free pascal ) 库?
问问题
2455 次
2 回答
1
Lazarus/FPC 带有 openssh 标头 afaik。可能没有必要走外部程序路线。
于 2013-02-20T12:58:26.333 回答
0
要在 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
于 2013-02-13T21:30:48.200 回答