在嵌入式Linux上的Qt
应用程序上工作,该应用程序需要存储用户名和密码等敏感信息。
我当前正在使用QStringLiteral
来存储此信息。这样安全吗?当针对strings
二进制文件运行时,这些不可见。有哪些可用的选项/解决方案?
SqlCipher
可用,但再次需要密码/密钥。任何建议
答案 0 :(得分:2)
您永远不要存储密码!没有办法安全地做到这一点,无论是在Qt还是在其他任何地方!
我建议您生成一个随机数/盐,添加用户密码并对该数据运行安全哈希。例如MD5,甚至更好的SHA1(感谢Ted Lyngmo)。存储结果。然后,您甚至可以获取纯文本文件,因为很难从该数据恢复为原始密码。
如果安全性对您不那么重要,则可以使用类似以下内容的方法:
QString result = QString(QCryptographicHash::hash((password+salt),QCryptographicHash::Md5).toHex());
并确保结果在QSettings中。