StackOverflow 上有很多关于简单、无数据库登录系统的问题。当我想:“这样做真的有意义吗?”时,我正要在最近的一个上建议一种盐渍哈希方法。
多年来,我一直在数据库中存储加盐哈希,并且我理解它为什么更安全:如果数据库遭到破坏,它包含的信息将不允许任何人登录我的系统(与我将纯文本密码存储在D b)。
但是在不涉及数据库的设置中,散列+加盐是否提供任何安全优势?我能想到的唯一原因是,如果攻击者获得了对我的服务器端代码的只读访问权限,就不可能找出任何密码。这是一个可能的情况吗?因为只要攻击者获得对文件的写入权限,他就可以做任何事情。
所以我的问题是:在设置非常简单、无数据库的登录系统时,密码应该加盐/散列,还是只存储为纯文本?