如何在我的Qt应用程序中存储密码?
没有现成的Qt库吗?
目前我通过QSettings存储我所有的应用程序配置。
看看https://github.com/frankosterfeld/qtkeychain/。它可以在Mac, Windows, Linux上工作,源代码中有一个示例(参见testclient.cpp)。
如果您需要授权成员使用QCryptographicHash
类。另一种情况,例如创建与数据库的连接,您需要加密您的密码。
一种可能的方法是SimpleCrypt
库。
如果你关心安全,你不应该存储你的密码。但是,您可以使用MD5和HASH进行加密,然后将结果放入QSettings。
以下是QSettings的示例结果(十六进制格式);
QString result = QString(QCryptographicHash::hash(("GoGuD"),QCryptographicHash::Md5).toHex());
那么,您想要以某种方式加密您的密码。问题是你需要一个密码来解密你的密码:|
如果你在linux上使用gnome,你可以做什么?Ubuntu)是使用gnome-keyring。或者其他钥匙环服务。这样,您在登录时使用主密码解锁整个系统的密匙环,并存储您保存的所有密码。至少在支持它的应用程序中是这样。在windows/mac上可能有一个内置的密匙环,你可以使用,但我没有经验。