如何加密网站的用户登录密码

Zac*_*ura 1 php database encryption passwords

我正在为一家公司开发一个网站,他们需要登录验证才能使用该公司提供的一些服务.使用常识,我知道在将用户密码保存到数据库时需要对其进行加密.不是问题,我可以简单地实现一个散列算法并存储散列(或者其他东西,我仍然需要troll StackOverflow来找出保存这些信息的最佳方法,但这不是我要求的).

我很好奇的是如何实际执行加密算法.这是服务器上的一个独立程序,它将加密密码然后存储它吗?或者我是否必须使用PHP模块来加密密码?或者是我没想到的其他东西?

任何和所有的答案都表示赞赏,如果我措辞不好,我指望你打电话给我;)

Aud*_*sen 5

PHP的内置散列方法效果很好.无需致电旅馆第三方图书馆.你应该看一下hash()函数.保存哈希值时请记住使用强盐.互联网上应该有很多关于此的好文章,也在这里.

正如drrcknlsn在评论中所指出的那样,md5和sha1会因为被认为是破碎而选择不好.

此外,正如Grexis在他的回答中指出的那样,PBKDF2也是你可以研究的一种方法.

  • 简短的回答:没有.但是当md5被"打破"时,我建议使用像sha256这样的更强大的算法.为此你需要hash(). (2认同)