如何在开放源代码软件中安全地存储用户密码?

问题描述

| 我正在编写一个开源客户端软件,可以代表用户连接到Web服务。用户输入他的用户名和密码,然后软件使用这些凭据进行连接。 为了方便起见,我为该软件提供了一个选项来保存用户的凭据,以便将来无需再次输入。 但是,由于这是开源的,因此我不确定如何以合理的安全方式存储凭据。令我惊讶的是,我用来加密密码的任何方法都可以轻易地颠倒并用于解密密码。我意识到不可能实现完美的安全性,但是有没有比我目前正在使用ROT13更好的做法?     

解决方法

        Pidgin开发人员在开放源代码客户端中对保存的密码进行了很好的处理。同样的理由也适用于Web服务客户端。 执行摘要: 如果应用程序本身保存密码,则将其保留为纯文本格式,并将文件权限设置为仅用户可读。 (这很明显表明设置文件是敏感的!) 提供与平台密钥环API(例如Windows Data Protection API)或密钥环应用程序(例如KeePass)集成的选项。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...