Python 如何为我的项目处理密码存储?

Python 如何为我的项目处理密码存储?,python,encryption,virtual-machine,password-encryption,lib-nfc,Python,Encryption,Virtual Machine,Password Encryption,Lib Nfc,我目前正在计划一个项目,将解锁与NFC的Pi,然后登录到RDP。用户永远不需要知道登录VM的密码,因为他们的NFC卡将处理登录。那么如何处理这个问题呢 我在想: NFC卡具有唯一的ID,请检查数据库中的ID,获取相应的密码,然后将其发送到rdesktop 但是有一个问题,我不想造成一个潜在的安全问题,如果数据库被黑客攻击,有人可以进入其他人的虚拟机,我不希望这种情况发生 所以我的问题是:最安全的方法是什么?如果我散列我的密码,我怎么能再次检索它们呢?不幸的是,像这样的主题太广泛了。这可能不是你想

我目前正在计划一个项目,将解锁与NFC的Pi,然后登录到RDP。用户永远不需要知道登录VM的密码,因为他们的NFC卡将处理登录。那么如何处理这个问题呢

我在想: NFC卡具有唯一的ID,请检查数据库中的ID,获取相应的密码,然后将其发送到rdesktop

但是有一个问题,我不想造成一个潜在的安全问题,如果数据库被黑客攻击,有人可以进入其他人的虚拟机,我不希望这种情况发生


所以我的问题是:最安全的方法是什么?如果我散列我的密码,我怎么能再次检索它们呢?

不幸的是,像这样的主题太广泛了。这可能不是你想要的。但考虑到它解释了NFC和Android认证的细节,它可能会给你一些想法@让我重新表述我的问题,我个人认为NFC根本不相关。它只是将某个数字与(mysql?)数据库中的某个条目进行匹配,然后检索“密码”值。我正在寻找一种安全的方法,rdesktop程序需要通过命令行以明文形式接收密码。security stackexchange可能更适合这种情况。哈希密码是确保没有人可以窃取密码的正确方法。你不应该自己去找回它们。您应该只比较哈希来验证授权,如果忘记了密码,请使用其他方法对密码重置进行身份验证。这就是为什么如果你忘记了密码,网站总是给你发送一个密码重置链接。他们不会给你发送密码,因为即使是他们也不应该知道密码是什么。@AlexHall这很有趣,但问题是,我需要能够这样做。我在证券交易所转达了我的问题,谢谢!