首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Delphi中的口令加密

Delphi中的口令加密
EN

Stack Overflow用户
提问于 2008-09-25 13:39:49
回答 12查看 19.1K关注 0票数 17

我需要将数据库密码存储在配置文件中。出于显而易见的原因,我想对它们进行加密(最好使用AES)。有没有人知道一个Delphi实现可以很容易地引入到一个具有超过10,000行历史记录的现有项目中(呃!)源代码?

澄清:简单意味着将单位添加到项目中,添加max。读取并处理配置文件的5行代码。花费的时间不应超过15分钟。

另一种解释是:需要口令是为了创建到db的连接,而不是为了支持应用的用户管理方案。所以使用散列是没有帮助的。数据库引擎检查密码是否有效,而不是应用程序。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2008-09-25 13:58:20

我赞同对David Barton的DCPCrypt library的推荐。我已经在几个项目中成功地使用了它,在你读完用法示例后,它不会超过15分钟。它使用麻省理工学院的许可证,所以你可以在商业项目和其他方面自由使用它。DCPCrypt实现了许多算法,包括Rijndael,它是AES。

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

票数 18
EN

Stack Overflow用户

发布于 2008-09-25 14:18:51

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

存储加密的密码可能是危险的,因为如果有人获得了您的“主”密码,他们就可以获取您所有用户的密码。

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

票数 15
EN

Stack Overflow用户

发布于 2008-09-25 14:08:05

我认为Turbopower LockBox是一个很好的盗版库:

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

我不知道它对你的使用是不是太大了,但它非常容易使用,你可以用5行代码加密一个字符串。所有这些都在示例中。

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

https://stackoverflow.com/questions/133393

复制
相关文章

相似问题

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