其他语言中的 password_hash()
PHP中有“一对函数”[1]password_hash()
和password_verify()
,用于对密码的加密和验证
若用其他语言重写PHP后端,通常不会影响到其他数据,但密码比较特殊:它被hash了。因此重写后若想保留用户数据就需要用相同的方式来验证,而且hash算法也是不可逆的,不可能使用其他算法重新编码。所以就需要想办法在其他语言中实现这两个函数
翻一下手册可以看到,这两个函数默认使用bcrypt
算法,那么就可以很轻松地在其他语言中找到第三方库的实现
语言 | 库 |
---|---|
Python | bcrypt |
JS | node.bcrypt.js |
Go | crypto/bcrypt |
PHP里密码哈希相关的还有另外三个,不过我想应该没啥人用? ↩︎
其他语言中的 password_hash()