Meteor 用户登录注册密码验证 php版本

来源:互联网 发布:知乎为什么中国dota 编辑:程序博客网 时间:2024/05/19 20:00


meteor 对用户密码加密的模块在 accounts-password 下:

https://github.com/meteor/meteor/blob/5931bcdae362e1026ceb8a08e5a4b053ce5340b7/packages/accounts-password/password_server.js


通过分析, meteor 加密用户密码时, 先对密码做一次SHA256计算, 再bcrypt加密. 得到的字符串写入users表services.password.bcrypt中.


知道上面的算法很容易通过php写出效果一致的代码.

php中的bcrypt加密扩展文档在 http://cn2.php.net/manual/zh/book.password.php


最终代码:

    public function password_hash($password){        return password_hash(hash('sha256', $password), PASSWORD_BCRYPT, ['salt'=>mcrypt_create_iv(22, MCRYPT_DEV_URANDOM)]);    }
    public function password_compare($inputpassword, $hash){        return password_verify(hash('sha256', $inputpassword), $hash);    }



0 0
原创粉丝点击