在cpp应用程序中保存密码

时间:2018-12-19 15:40:05

标签: c++ qt embedded-linux

在嵌入式Linux上的Qt应用程序上工作,该应用程序需要存储用户名和密码等敏感信息。

我当前正在使用QStringLiteral来存储此信息。这样安全吗?当针对strings二进制文件运行时,这些不可见。有哪些可用的选项/解决方案?

SqlCipher可用,但再次需要密码/密钥。任何建议

1 个答案:

答案 0 :(得分:2)

您永远不要存储密码!没有办法安全地做到这一点,无论是在Qt还是在其他任何地方!

我建议您生成一个随机数/盐,添加用户密码并对该数据运行安全哈希。例如MD5,甚至更好的SHA1(感谢Ted Lyngmo)。存储结果。然后,您甚至可以获取纯文本文件,因为很难从该数据恢复为原始密码。

如果安全性对您不那么重要,则可以使用类似以下内容的方法:

QString result = QString(QCryptographicHash::hash((password+salt),QCryptographicHash::Md5).toHex());

并确保结果在QSettings中。