当前位置:  开发笔记 > 编程语言 > 正文

Delphi中的密码加密

如何解决《Delphi中的密码加密》经验,为你挑选了3个好方法。

我需要将数据库密码存储在配置文件中.出于显而易见的原因,我想加密它们(最好使用AES).有没有人知道Delphi实现很容易引入到现有项目中,其中包含超过10,000行的历史增长(URGH!)源代码?

澄清:简单意味着将单元添加到项目中,添加最多 5行代码,其中读取配置文件并使用它完成.不应该超过15分钟.

另一个澄清:需要密码才能创建与数据库的连接,而不是支持应用程序的用户管理方案.所以使用哈希没有帮助.db引擎检查密码是否有效,而不是应用程序.



1> Marek Jedliń..:

我是对David Barton的DCPCrypt库的推荐.我在几个项目中成功地使用了它,并且在阅读了使用示例后不会超过15分钟.它使用MIT许可证,因此您可以在商业项目中自由使用它.DCPCrypt实现了许多算法,包括Rijndael,它是AES.

有许多googlable独立(单个单元)实现 - 问题是您信任哪个,除非您准备自己验证特定库的更正.


DCPCrypt很棒.我在很多地方都在使用它.

2> Ondrej Kelle..:

对于典型的身份验证目的,您不需要存储密码,只需要检查用户输入的密码是否正确.如果这是你的情况,那么你可以只存储一个哈希签名(例如MD5),并将其与输入密码的签名进行比较.如果两个签名匹配,则输入的密码是正确的.

存储加密密码可能很危险,因为如果有人获得您的"主"密码,他们可以检索所有用户的密码.

如果您决定使用MD5,您可以使用Delphi附带的MessageDigest_5.pas(至少它包含在我的Delphi 2007副本中).还有其他可以选择Delphi源代码的实现.


提及`hashing`的+1和存储密码的危险.永远不要存储密码(甚至不要考虑加密它们!).
如果他正在讨论存储数据库连接的密码,是否需要哈希应用?您需要实际密码才能连接到数据库.或者您是否建议将主数据库密码分发给所有用户以供他们输入?

3> Giacomo Degl..:

我认为Turbopower LockBox是一个优秀的伪造图书馆:

http://sourceforge.net/projects/tplockbox/

我不知道它是否对你的用途来说太大了,但它很容易使用,你可以用5行代码加密一个字符串.一切都在这些例子中.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有