我正在用PyQt和python 3编写一个小程序。
程序需要知道用户的电子邮件帐户的用户名和密码才能用于POP3协议。我想知道什么是最好的,希望不是太复杂的做法来存储这些东西?
感谢。
答案 0 :(得分:3)
对于C ++,我会执行以下操作,您可以将其调整为python
让
QString username
QString password
用户在线编辑中输入的字符串
// Encrypt the password using SHA1
QByteArray passHash = QCryptographicHash::hash(password.toUtf8(),QCryptographicHash::Sha1 );
QString passHashString(passHash.toHex());
然后使用QSettings或任何你想要存储的用户名和散列密码对。
每次用户尝试使用该应用程序时,您都可以散列他为用户名提供的密码,并将其与存储的用户名进行比较。
请注意,使用此方法时,每次执行应用程序时都必须输入密码。但在我看来,这比以纯文本格式存储密码更安全。
答案 1 :(得分:3)
据我所知,Qt没有提供安全存储密码的任何内容。
但您可以查看python keyring library,它应该允许您访问系统上可用的“密码存储库”,通过PyCrypto使用加密文件,或者存储未加密的密码。