use*_*468 7 python linux encryption passwords
首先,我的问题不是密码散列,而是密码加密.我正在构建一个桌面应用程序,需要将用户身份验证到第三方服务.为了加快登录过程,我想让用户选择保存他的凭据.由于我需要密码来验证他的服务,因此无法进行哈希处理.
我想过使用pyCrypto模块及其Blowfish或AES实现来加密凭证.问题是存储密钥的位置.我知道有些应用程序直接将密钥存储在源代码中,但由于我编写的是一个开源应用程序,这似乎不是一个非常有效的解决方案.
所以我想知道如何在Linux上实现用户特定或系统特定的密钥来增加密码存储的安全性.
如果您比使用pyCrypto和系统/用户特定密钥有更好的解决方案,请不要犹豫,分享它.正如我之前所说,哈希不是一个解决方案,我知道密码加密是易受攻击的,但我想给用户提供选项.使用Gnome-Keyring也不是一种选择,因为很多人(包括我自己)都不使用它.
加密密码实际上并没有比以纯文本格式存储更多的保护.任何能够访问数据库的人都可能拥有对您的Web服务器机器的完全访问权限.
但是,如果安全性丢失是可以接受的,并且您确实需要这个,那么我将在安装过程中生成一个新的密钥文件(来自良好的随机数据源)并使用它.显然,尽可能安全地存储此密钥(锁定文件权限等).使用嵌入在源中的单个密钥不是一个好主意 - 没有理由为什么单独的安装应该具有相同的密钥.