我不是加密技术,破解密码和安全性方面的专家。 我需要在首选项中存储我将用于将客户端连接到SQL服务器的SQL服务器的密码和用户名。
我一直在读书,大部分时间都在这里,但大多数都超过2年,我们都知道安全世界正在快速变化。
根据我的阅读,我得出结论,大多数人建议使用SHA-XXX散列密码和/或建议使用jasypt来加密和解密密码
所以我的问题是保护首选项文件中密码的最安全方法是什么? 我可以只使用带盐的SHA-512并将盐保存在首选项文件中吗?这样安全吗?
答案 0 :(得分:9)
您似乎希望稍后解密并使用该密码对服务器进行身份验证。这意味着您无法对其进行哈希处理 - 如果您希望用户输入密码然后检查密码是否正确,则哈希很好,但您无法解密哈希密码以将其呈现给服务器。
由于您的应用程序需要能够解密密码才能使用它,因此获得访问配置文件的攻击者将能够以与应用程序相同的方式解密密码。无论你做什么,你都只能让密码变得更加烦人(即模糊不清/安全隐蔽)。
您可以采取的步骤(在大括号中采用该方法的程序名称):