首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lazarus中的非对称加密

lazarus中的非对称加密
EN

Stack Overflow用户
提问于 2013-02-04 21:10:09
回答 2查看 2.4K关注 0票数 1

lazarus (免费的pascal )有没有支持非对称加密的库?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-14 05:30:48

要在Lazarus中进行非对称加密,您需要集成openssl。

如果您使用windows download http://slproweb.com/download/Win32OpenSSL_Light-1_0_1e.exe

现在您可以在lazarus中使用openssl,如下所示:

代码语言:javascript
复制
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

票数 0
EN

Stack Overflow用户

发布于 2013-02-20 20:58:26

Lazarus/FPC附带了openssh头文件afaik。可能没有必要走外部程序路线。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14687471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档