【问题标题】:Delphi asymmetric encryptionDelphi非对称加密
【发布时间】:2011-03-01 05:52:01
【问题描述】:

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

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

【问题讨论】:

    标签: delphi encryption-asymmetric


    【解决方案1】:

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

    【讨论】:

    • 通过阅读它的文档,它似乎不允许使用非对称算法加密字符串,只能使用对称算法。
    • 查看 ElRSAPublicKeyCrypto 类。您可能需要通过 Stream(在需要时使用 TStringStream 类),因为您必须将加密数据威胁为二进制流以避免字符集转换。
    • 是的,这似乎满足了我的需求。谢谢!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      我目前在 Delphi 2010 中使用它。

      【讨论】:

      • 在改进之前,LockBox 仅实现短密钥和弱分组密码。最后一次发布到现在已经七年了,在密码学中依赖旧的、未更新的代码可能很危险。
      • 以上评论仅适用于密码箱 2。密码箱 3 是对密码箱 2 的重大改进 - 任意长度和强密码的不对称密钥。
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        看看这个网站上的 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

        【讨论】:

        • 查看了 FGIntRSA(和 FGInt)包,但由于缺少任何文档,无法弄清楚如何处理公钥/私钥。
        • 目前对 Windows Crypto API 没有胃口或时间,我正在寻找一个快速的插入式实现。
        • @carlosb - 您想要一种“即弃即忘”的安全解决方案吗?你确定吗?结果将与根本不使用加密相同:D
        • 我同意 Alexander 的观点……请问它的用途是什么?
        • Alexander 和 Nat,目标很简单,需要在服务器上使用私钥加密激活字符串,该字符串将由用户处理,除非加密可能被篡改,否则该激活字符串将使用公钥在应用程序上解密。如果存在适当的 Delphi 框架(例如 DCPCrypt 但支持非对称算法),这应该可以快速有效地实现。
        【解决方案6】:

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

        【讨论】:

        • 该包中没有非对称算法实现。
        • 对,忘记了。自从我自己使用它已经有一段时间了.. 但除此之外它是一个很好的包。
        猜你喜欢
        • 2011-04-05
        • 2019-07-29
        • 1970-01-01
        • 2010-10-30
        • 2017-02-22
        • 1970-01-01
        • 2013-04-22
        • 2021-05-30
        • 2020-12-01
        相关资源
        最近更新 更多