在变量上使用加密(哈希算法)

时间:2014-10-17 13:47:48

标签: php algorithm encryption hash

目前,我正在使用我在网络上找到的代码加密进入数据库的数据,并作为主题的介绍。我的问题来自两篇WikiHow文章(特别是这些文章):一篇关于login加密; session security上的另一个。两篇文章看起来都很好;然而,两者之间存在一个重要区别:前者表示PHP使用的哈希算法($password = hash('sha512', $password . $salt))的JavaScript定义本身是必需的。

即使包含了PHP hash()方法(在两篇文章中都有),第一个编写者指出'sha512'加密本身必须定义外部使用另一种语言(作者建议使用JavaScript)。

通过阅读PHP文档,我的印象是hash()能够处理由标识符识别的一系列预定义的散列算法,例如: whirpoolsha512等。可以通过hash_algos()抓取这些PHP标识符(或者您只需阅读文档)。

我认为特定的预定义哈希算法的外部定义是不必要的,我错了吗?

1 个答案:

答案 0 :(得分:1)

我认为不需要使用javascript来散列字符串。

就个人而言,我宁愿使用bcrypt而不是sha512,但它很好,它并不是一个弱算法。

$password = hash('sha512', $password . $salt)

这是散列密码的好方法,如果你想全力以赴,你可以查找PBKDF2

http://en.wikipedia.org/wiki/PBKDF2 https://defuse.ca/php-pbkdf2.htm