使用 Delphi 组件加密文件并使用其他实用程序解密

发布于 2025-01-04 15:26:36 字数 699 浏览 0 评论 0原文

我需要使用 Delphi 组件来加密文件,然后可以使用免费实用程序解密该文件。我做了一些尝试但没有成功。下面我将列出我的要求以及我已经尝试过的内容。

要求:

  • 如果可能的话,免费组件及其源代码。
  • 与德尔福XE兼容。因此,我只关心 32 位支持。
  • 必须能够使用适用于 Windows 的免费实用程序解密结果。

以下是我尝试过的:

  • LockBox 2、Rijndael 128 位 CBC
  • LockBox 3、AES 128 位 CBC
  • DCPCrypt2
  • 使用 OpenSSL.exe 解密上述各项

其他变量:

  • 我还没有尝试过 Windows CryptoAPI。这是我要尝试的下一个项目。
  • 我更喜欢使用 AES,但这不是严格要求。
  • 我不想使用私钥/公钥对。我希望可以使用密码或密码短语进行解密。

我知道 SecureBlackBox 组件受到高度重视。如果您根据经验知道 SBB 组件可以满足我的要求,那么我很想了解一下。这是一种昂贵的选择,但我们会考虑它是否确实有效。

请不要接受一般性建议,而是尝试使用可能有效的组件。我同时进行谷歌搜索并尝试我能找到的每一个可行的选择。 :) 我很乐意听到任何有经验做我想做的事情的人的反馈。

I need to use a Delphi component to encrypt a file that can then be decrypted using a freely available utility. I've done some experimenting without success. Below I'll list my requirements and what I've already attempted.

Requirements:

  • Free component with source, if possible.
  • Compatible with Delphi XE. As such, I'm only concerned about 32-bit support.
  • Must be able to decrypt the result with a utility that is freely available for Windows.

Here's what I've tried:

  • LockBox 2, Rijndael 128-bit CBC
  • LockBox 3, AES 128-bit CBC
  • DCPCrypt2
  • Decrypting each of the above with OpenSSL.exe

Other variables:

  • I have not yet tried the Windows CryptoAPI. That is the next item on my list to attempt.
  • I would prefer to use AES, but that is not a strict requirement.
  • I would prefer not to use a private/public key pair. I would prefer the decryption to be possible using a password or passphrase.

I know SecureBlackBox components are highly regarded. If you know, from experience, that a SBB component can do what I'm looking for, then I'd love to know about it. It is an expensive option, but one we'll consider if it'll definitely work.

Please refrain from general recommendations to try a component that might work. I'm concurrently doing Google searches and attempting every viable option I can find. :) I'd love to hear feedback from anyone that has experience doing what I'm attempting to do.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

锦上情书 2025-01-11 15:26:36

如果您的目标只是 Windows,为什么不编写这个免费提供的实用程序呢?

您将确保它符合与您的应用程序中完全相同的算法。

您可以将我们的开源单元添加到您的列表中 - 我刚刚添加了 AES 128、192 或 CBC/ECB/CFB/OFB/CTR 模式256 位 - 和 PKCS7 填充模式。您还可以使用 MD5、SHA1 或 SHA256 快速函数从密码创建密钥。

您拥有完整的源代码,它可以从 Delphi 5 一直运行到 XE2,速度快、易于维护且跨平台。

我使用这个单元在 Delphi 和 C# 代码之间进行安全加密:

  • 在 Delphi 方面,我使用 TAESCBC.EncryptPKCS7 / TAESCBC.DecryptPKCS7
  • 在 C# 方面,我使用 MSDN 上提供的官方示例,它使用相同的精确的加密模式。

这是一个经过验证且简单的方案。

If your target is only Windows, why do not you just write this freely available utility?

You'll ensure that it meets the same exact algorithm that in your application.

And you can add our Open Source unit to your list - I've just added CBC/ECB/CFB/OFB/CTR modes in AES 128, 192 or 256 bit - and PKCS7 padding pattern. And you have MD5, SHA1 or SHA256 fast functions to create your Key from a password.

You have full source code, and it works from Delphi 5 up to XE2, is FAST, maintained and cross-platform.

I use this unit for safe cypher between Delphi and C# code:

This is a proven and simple scheme.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文