首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Delphi中加密/解密文本文件?

在Delphi中加密/解密文本文件?
EN

Stack Overflow用户
提问于 2010-05-06 18:01:50
回答 3查看 8.9K关注 0票数 10

嗨,我想知道最好的加密技术的文本文件加密和解密。

我的场景是:

我的软件有两种类型的用户管理员和操作员。我们的要求是加密文本文件时,管理员使用GUI输入数据并保存它。该加密文件将被输入给操作员,他们只需要选择它并使用该文件。当操作员选择这些文件时,文件应自动解密数据以进行进一步计算。

请告诉我应该使用哪种加密/解密技术?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-06 18:33:46

做加密时的一个金科玉律是理解密码学作为一个整体,它是非常困难的。

有许多不同的方法/算法可供选择,没有一种算法/方法可以说是最好的。这完全取决于您的需求和影响应用程序分发的可能性等。

一个潜在问题的例子是,在您的场景中,解密“密钥”需要与应用程序一起分发,这可能会使其不安全。这通常被称为“密钥分发”问题。

http://en.wikipedia.org/wiki/Cryptography开始阅读crypto是一个很好的地方。

至于Delphi的现成的东西,有几个好的包可用:

Torry的页面也有一个很长的组件列表:

我强烈建议你使用一些现有的实现,而不是开始做你自己的,因为创建一个安全的工作密码算法是非常非常困难的。

票数 19
EN

Stack Overflow用户

发布于 2010-05-06 19:39:45

在将加密组消息从位置/应用程序移动到另一个位置/应用程序时,您必须考虑的问题之一是在哪里存储加密/解密密钥。

当我看到您的场景时,它似乎是构建在您的应用程序中的。如果是这样的话,记得使用各种技巧来隐藏它:密码字符串应该被分成几位,并且只能附加在一个受保护的内存空间中,必须将其标记为不可分页(否则密码可能会在页面文件中看到)。

对未加密的内容(文本文件)执行相同的规则。最好不要将其保存(即使是暂时的)未加密的磁盘。如果已保存,请在使用后使用垃圾覆盖日期,然后将其删除。

另一种方法(特别是如果您已经在使用压缩组件)是可以使用密码压缩(文本)文件。

票数 3
EN

Stack Overflow用户

发布于 2010-05-06 20:22:27

老实说,没有“最好”的技术。它基本上取决于您试图保护的数据的敏感性以及可能访问此数据的人数。对我来说“最好”的东西可能对你的项目来说太夸张了。在您的例子中,您可以使用任何双密钥加密方法。或者asymmetric key。基本上,管理员有一个密钥,操作员有另一个密钥。然后,管理员可以加密文件,但除非他有操作员密钥,否则将无法再次解密文件。操作员可以解密文件,而-if需要对只有管理员才能访问的文件进行加密。(非对称密钥以两种方式进行加密。)

有几种解决方案可以利用这些非对称密钥。最好的一个是你可以用最简单的方式添加到你的项目中,同时仍然为你的需求提供足够的保护。

如果你是一个真正的数学向导,构建你自己的非对称密钥算法也是可能的。计算是复杂的,并且在大多数解中涉及极高的质数。正如K. Sandell所说,找到一个好的、现有的解决方案,以最好的方式满足您的需求。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2780169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档