1

非対称暗号化をサポートする lazarus ( free pascal ) のライブラリはありますか?

4

2 に答える 2

1

Lazarus/FPC には、openssh ヘッダーが付属しています。外部プログラム ルートに行く必要はないかもしれません。

于 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 に答える