【发布时间】:2011-03-01 05:52:01
【问题描述】:
我正在寻找不依赖外部 DLL 的非对称加密算法的 Delphi 实现。有没有可用的?
我的目标是使用公钥/私钥对加密/解密字符串(或字节数组)。
【问题讨论】:
标签: delphi encryption-asymmetric
我正在寻找不依赖外部 DLL 的非对称加密算法的 Delphi 实现。有没有可用的?
我的目标是使用公钥/私钥对加密/解密字符串(或字节数组)。
【问题讨论】:
标签: delphi encryption-asymmetric
Eldos 的SecureBlackBox 提供原生的综合解决方案 - 包括证书管理和对外部加密设备(即 USB 令牌)的访问
【讨论】:
LockBox 现已改进。它允许 RSA、AES 密码的长密钥,并且正在积极开发中。 它是免费、开源和 100% 本机代码,没有 DLL。
【讨论】:
您可以尝试密码箱 - http://sourceforge.net/projects/tplockbox/。它是免费的,包括 RSA 等(Blowfish、MD5、SHA-1、DES、三重 DES、Rijndael 和消息数字签名)。
它附带了一个很好的 RSA 示例,演示了如何生成您的公钥/私钥以及如何使用这些密钥实际加密和解密数据。
我目前在 Delphi 2010 中使用它。
【讨论】:
我意识到最初的问题是“没有外部 DLL”,但在没有可接受的答案的情况下,也许你应该看看 OpenSSL DLLs 以及 this Delphi link,其中包含库的导入单元和一些好的有关如何使用它的示例,包括 RSA 加密。
我已经对此进行了修补,并使其运行良好。需要进行一些更改才能使其与 unicode Delphi 一起使用 - 但这些更改主要与将 PChar 更改为 PAnsiChar 或 PBytes 有关。
简单的 Delphi 包装器现在允许我签名/验证/加密 sym 或 asym 并使用 SSL。老实说,OpenSSL DLL 的分发比 Microsoft 的某些产品要简单得多。此外,它是免费且维护良好的。
【讨论】:
看看这个网站上的 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
【讨论】:
另一个非常好的相当完整的软件包是 Delphi Encryption Compendium (DEC) 5.2。可以从http://www.torry.net/pages.php?id=519#939342下载(有源免费)。
【讨论】: