目前,我正在使用我在网上找到的代码加密输入数据库的数据,并作为该主题的介绍。我的问题来自两篇WikiHow文章(特别是这些文章):一篇关于login加密;另一个在session security。两篇文章看起来相当不错;然而,这两者之间存在一个关键的区别:前者声明所用的hasing算法的JavaScript定义($password = hash('sha512', $password . $salt)
是PHP所必需的,它本身可以工作)在变量上使用加密(哈希算法)
即使包含PHP hash()
方法在这两篇文章),第一状态的笔者,'sha512'
加密本身必须是外部使用另一种语言(笔者提出的JavaScript)来定义。
从阅读PHP文档,我的印象是hash()
能处理由标识符识别的一系列预定义哈希算法,例如whirpool
,sha512
等。这些PHP标识符可以通过hash_algos()
获取(或者您可以阅读文档)。
我错在认为特定的预定义散列算法的外部定义是不必要的?
散列在Javascript是唯一真正企图在通过不安全的HTTP协议传输之前保护密码。密码实际上只能通过HTTPS发送。 – Jonathon 2014-10-17 13:53:49
@Jonathon这就是我的想法。所以,真的,JavaScript需要的唯一原因是转移不安全? – Thomas 2014-10-17 14:07:22
有点咆哮,但他让公平点> http://matasano.com/articles/javascript-cryptography/ – Dennis 2014-10-17 14:07:40