对于我所有的爱好网络项目,我编写了一个这些项目共享的登录系统。这些项目中没有关键数据,唯一的关键数据是可以重复使用的密码。所以我尝试以一种非常安全的方式散列密码。
我目前的密码散列算法并不是我认为真正安全的。当我看到 PHP 现在提供内置散列时password_hash
,我想到了切换。
我的问题是,转换对我有什么好处?就我而言,我可以获得哪些额外的保护,我要修复哪些漏洞等?为了不让它变得非常不安全,我还需要做些什么吗?
我想把这些答案作为自己的学习经验,这样我就可以把它教给在我这个职位上的其他人。
我当前的算法(伪代码):
Salt = "some-salt"
Repeat 1000000 times
Password = Sha512(Salt + username + Salt + Password)
我知道我的网站容易受到定时攻击,PHP 内置函数可以解决这个问题。
还有什么明显不安全的?