我正在寻找一种非对称加密算法的Delphi实现,而不依赖于外部DLL。有没有?
我的目标是使用公钥/私钥对加密/解密字符串(或字节数组)。
答案 0 :(得分:6)
SecureBlackBox提供了原生的全面解决方案 - 包括证书管理和访问外部加密设备(即USB令牌)
答案 1 :(得分:4)
现在改进了LockBox。它允许RSA,AES密码的长密钥,并且正在积极开发中。 它是免费的,开放源代码和100%本机代码,没有DLL。
答案 2 :(得分:2)
您可以尝试加密箱 - http://sourceforge.net/projects/tplockbox/。它是免费的,包括RSA等(Blowfish,MD5,SHA-1,DES,三重DES,Rijndael,以及消息的数字签名)。
它附带了一个很好的RSA示例,演示了如何生成公钥/私钥以及如何使用密钥实际加密和解密数据。
我目前正在使用Delphi 2010.
答案 3 :(得分:2)
我意识到最初的问题是“没有外部DLL”,但是如果没有可接受的答案,你可能应该看一下OpenSSL DLLs和this Delphi link,其中包含一个导入单元。库和一些关于如何使用它的好例子,包括RSA加密 我对此进行了修改并使其工作得很好。使用unicode Delphi需要进行一些更改 - 但这些更改主要与将PChar更改为PAnsiChar或PBytes有关。 简单的Delphi包装器现在允许我签署/验证/加密sym或asym并使用SSL。说实话 - OpenSSL DLL的分发比一些微软产品更直接。此外,它是免费的,维护良好。
答案 4 :(得分:1)
请查看此网站上的FGInt软件包:http://submanifold.be/
如果您可以使用Windows服务,可以使用加密API:http://msdn.microsoft.com/en-us/library/aa380255(v=VS.85).aspx
如果您的目标是Vista及更高版本,那就是新的Cryptography API:Next Generation。这也支持Elliptic Curve加密:http://msdn.microsoft.com/en-us/library/aa376210(VS.85).aspx
答案 5 :(得分:0)
另一个非常好的相当完整的软件包是Delphi Encryption Compendium(DEC)5.2。您可以从http://www.torry.net/pages.php?id=519#939342下载(免费提供来源)。