8

我正在寻找一个非对称加密算法的 Delphi 实现,而不依赖于外部 DLL。有没有可用的?

我的目标是使用公钥/私钥对加密/解密字符串(或字节数组)。

4

6 回答 6

6

Eldos 的SecureBlackBox提供了一个原生的综合解决方案 - 包括证书管理和对外部加密设备(即 USB 令牌)的访问

于 2010-06-08T18:40:17.443 回答
4

LockBox 现在得到了改进。它允许 RSA、AES 密码的长密钥,并且正在积极开发中。它是免费的、开源的和 100% 本机代码,没有 DLL。

于 2010-10-26T00:27:33.167 回答
2

您可以尝试密码箱 - http://sourceforge.net/projects/tplockbox/。它是免费的,其中包括 RSA(Blowfish、MD5、SHA-1、DES、三重 DES、Rijndael 和消息的数字签名)。

它附带了一个很好的 RSA 示例,演示了如何生成您的公钥/私钥以及如何使用密钥实际加密和解密数据。

我目前正在将它与 Delphi 2010 一起使用。

于 2010-06-09T20:26:10.827 回答
2

我意识到最初的问题是“没有外部 DLL”,但在没有可接受的答案的情况下,也许你应该看看OpenSSL DLL以及这个 Delphi 链接,其中包含库的导入单元和一些关于如何的好例子使用它,包括 RSA 加密。
我已经对此进行了修补,并使其运行良好。需要进行一些更改才能使其与 unicode Delphi 一起使用 - 但这些更改主要与将 PChar 更改为 PAnsiChar 或 PBytes 有关。
简单的 Delphi 包装器现在允许我签署/验证/加密 sym 或 asym 并使用 SSL。老实说,OpenSSL DLL 的分发比 Microsoft 的某些产品要简单得多。此外,它是免费且维护良好的。

于 2010-06-10T09:55:14.103 回答
1

看看这个网站上的 FGInt 包:http: //submanifold.be/

如果您可以使用 Windows 服务,可以使用 Crypto API: http: //msdn.microsoft.com/en-us/library/aa380255 (v=VS.85).aspx

如果您的目标是 Vista 及更高版本,则有新的 Cryptography API:Next Generation。这也支持椭圆曲线加密: http: //msdn.microsoft.com/en-us/library/aa376210 (VS.85).aspx

于 2010-06-09T02:30:36.767 回答
0

另一个非常好的相当完整的软件包是 Delphi Encryption Compendium (DEC) 5.2。您可以从http://www.torry.net/pages.php?id=519#939342下载(免费提供源代码)。

于 2010-06-09T06:26:08.890 回答