RSA公钥加密openssl代码
时间: 2023-10-12 20:01:26 浏览: 141
在 Delphi 中使用 RSA 公钥加密 OpenSSL 的代码示例如下:
uses
..., OpenSSL, ..., CryptoUtils;
var
rsa: PRSA;
publicKey: TMemoryStream;
plaintext: TBytes;
encryptedData: TBytes;
begin
// 加载 OpenSSL 库
LoadOpenSSLLibrary;
// 创建 RSA 对象
rsa := RSA_new;
// 导入公钥
publicKey := TMemoryStream.Create;
publicKey.LoadFromFile('public_key.pem'); // 替换为您的公钥文件路径
PEM_read_bio_RSA_PUBKEY(BIO_new_mem_buf(publicKey.Memory, publicKey.Size), rsa, nil, nil);
// 准备待加密的数据
plaintext := TEncoding.UTF8.GetBytes('Hello, World!');
// 执行加密
SetLength(encryptedData, RSA_size(rsa));
RSA_public_encrypt(Length(plaintext), @plaintext[0], @encryptedData[0], rsa, RSA_PKCS1_PADDING);
// 清理资源
RSA_free(rsa);
publicKey.Free;
// 处理加密后的数据,例如保存到文件或发送到其他地方
...
end;
这段代码假设您已经正确导入 OpenSSL 库和相关函数。请注意,您需要将 "public_key.pem" 替换为您实际的公钥文件路径。
这段代码使用 OpenSSL 库中的 RSA_public_encrypt
函数来执行 RSA 公钥加密。它首先加载公钥文件,并将其导入到 RSA 对象中。然后,它准备待加密的数据并执行加密操作。最后,它清理资源并处理加密后的
相关推荐
















