我正在查看斯坦福的 JavaScript 加密库,并意识到我可以在客户端上进行哈希处理。
以前,我一直在使用简洁的 PHP crypt(),因为使用一个命令 - crypt() 我生成了一个 crypt 类型、随机盐、哈希并将这三个项目放入一个字符串中(md5,我知道它有点快速但暂时还可以,请阅读此处)。
看起来像这样:
crypt() MD5 hash example: $1$rasmusle$rISCgZzpwk3UhDidwXvin0
但是,如果在客户端上使用:斯坦福的 Crypto Library进行加密,并利用他们的 SHA-256 实现,则可以在传输到服务器时隐藏密码。
然而,在隐藏密码的同时,它暴露了传输中的哈希值,该哈希值实际上用于进行 sql 查找。
我可以在两端进行哈希处理——客户端和服务器来解决这个问题。这会不会太杀了?
散列密码的标准安全方法是什么?