需要一个Delphi组件/库,允许我使用RSA加密/解密一些文本

需要一个Delphi组件/库,允许我使用RSA加密/解密一些文本,delphi,cryptography,rsa,Delphi,Cryptography,Rsa,我需要一个组件或库(尽可能简单,没有DLL会很好)来加密一个文本,解密另一个,使用OpenSSL生成的公钥 我原以为我会使用LockBox(新版本,v3),但据这里的其他用户说,它不如旧版本好,更重要的是,不能使用其他库中的密钥。(见附件) 我用的是Delphi7。有什么建议吗?这是一本手册,介绍如何将libeay32.dll从openssl导入delphi: 他们使用RSA对文件进行加密/解密: 我们的团队将完成这项工作。支持Delphi7。还支持PEM格式的证书和密钥(如果您使用PEM编码

我需要一个组件或库(尽可能简单,没有DLL会很好)来加密一个文本,解密另一个,使用OpenSSL生成的公钥

我原以为我会使用LockBox(新版本,v3),但据这里的其他用户说,它不如旧版本好,更重要的是,不能使用其他库中的密钥。(见附件)


我用的是Delphi7。有什么建议吗?

这是一本手册,介绍如何将libeay32.dll从openssl导入delphi:

他们使用RSA对文件进行加密/解密:


我们的团队将完成这项工作。支持Delphi7。还支持PEM格式的证书和密钥(如果您使用PEM编码的原始RSA密钥,则需要编写几行代码才能将其打开,并且通过一个函数调用从PEM加载X.509证书)。

我们在Delphi 2010中使用了Lockbox 2,它工作得非常好。我想它也应该适用于Delphi7。下面是一个代码示例:

unit LBRSA; 

interface

uses
  LbCipher,
  LbRSA,
  LbString,
  LbUtils;

  function DecryptRSA(const CipherText: String): String; overload; overload;
  function DecryptRSA(const CipherText, Exponent, Modulus: String): String; overload;

implemention


function EncryptRSA(const ClearText, Exponent, Modulus: String): String;
var
  RSA: TLbRSA;
begin
  RSA := TLbRSA.Create(nil);
  try
    RSA.PublicKey.ExponentAsString := Exponent;
    RSA.PublicKey.ModulusAsString := Modulus;

    Result := RSA.EncryptStringW(ClearText);
  finally
    FreeAndNil(RSA);
  end;
end;

function DecryptRSA(const CipherText, Exponent, Modulus: String): String;
var
  RSA: TLbRSA;
begin
  RSA := TLbRSA.Create(nil);
  try
    RSA.PrivateKey.ExponentAsString := Exponent;
    RSA.PrivateKey.ModulusAsString := Modulus;

    Result := RSA.DecryptStringW(CipherText);
  finally
    FreeAndNil(RSA);
  end;
end;

end.
Lockbox包括一个演示应用程序,可用于生成公钥和私钥。

为什么“没有DLL”?使用openssl的DLL可以轻松实现openssl互操作性。您可以将dll打包到应用程序的安装程序中。