如何确保使用php和mySql对存储的密码进行良好加密?

时间:2015-12-08 15:40:02

标签: php mysql security encryption passwords

注意:我是学生,我在自己的项目中需要这个

我在这里看到encrypting data in php

的方式

我的问题是:我应该将加密密码存储到数据库中,并在有人登录后解密并检查它们是否相似?

另外,我应该在数据库上使用其他一些安全层来确保数据安全吗?一些MySql自加密还是类似的?

我需要一个可以做到这一点的基本加密。我知道有几个关于此的线程,但我的问题是如何做到这一点以及是否有必要保护数据库中的数据(触发器,函数等)。

1 个答案:

答案 0 :(得分:3)

请勿保存加密密码,而是存储哈希版本。

使用诸如PBKDF2(基于密码的密钥派生函数)之类的算法,其具有随机盐和相当大的迭代计数以减慢散列。然后,当您要检查密码时,通过相同的哈希函数运行密码,并验证结果是否与保存的哈希相匹配。

注意:保存salt和迭代计数以及结果哈希,这些都不需要保密。