我们公司构建的软件刚刚通过了安全审计。审计人员标记了我们使用 MD5 来散列密码,如果用户想要在他们的文件上设置密码,他们可以设置这些密码。看过之后,看来我应该用 PBKDF2 替换它。
但是要从软件中删除所有 MD5 散列方法,这是否意味着用户需要暂时丢失所有密码?例如,我们需要与客户沟通,如果他们更新,他们的所有文件都不会受到密码保护?我的意思是,我可以检查是否存在旧哈希并强制他们手动设置新密码,但任何人都可以设置密码,这似乎是一个很大的缺陷。如果攻击者可以访问他们的文件和我们软件的新版本,他们将无需密码即可访问该文件。