ホームページ >バックエンド開発 >PHPチュートリアル >php加密用户密码和登录token
发现php官方手册上有这么多加密算法,请问我现在要加密用户的密码,还有用户登录时候的token。请问使用哪几个加密算法比较好呢?
ps:用户密码应该是不可逆的。用户登录token应该是可逆的,因为我需要反解token获取用户一些信息。
thanks :)
发现php官方手册上有这么多加密算法,请问我现在要加密用户的密码,还有用户登录时候的token。请问使用哪几个加密算法比较好呢?
ps:用户密码应该是不可逆的。用户登录token应该是可逆的,因为我需要反解token获取用户一些信息。
thanks :)
建议使用Mcrypt这个C扩展, 他封装了几乎全部的加密算法 并且速度快安全性高.
实现可参考Laravel框架中的加密模块: https://github.com/laravel/framework/tree/master/src/Illuminate/Encryption
我是这么看的: 1.不要简单的直接使用某个加密算法,你可以假如一些自己的算法来做这件事情,那么即使你使用的算法被破解了,他们也不一定能破解你的密码。很简单的一个例子例如:
<code class="lang-php"><?php $passwd = md5($passwd . '&*(^(*^(*)(*)'); ?> </code>
那么,如果破解的人拿不到你后面的串的话,他们就获取不到你密码加密的逆向工程。
2.我用过token,也见过别的几家公司用token。至少我见过的里面,并没有要反解token获得信息的情况。token是用来验证身份的,然后需要的信息是应该从服务器里面获得的,而不是盲目的信任用户提交上来的信息。通常来说,应该是客户端和服务端有相同的加密方法。服务端根据相同的方法,整合本地和客户端提交上来的信息进行计算后,获得到了相同的token,则证明客户端有正确的授权,所以给予某种权限,而不是用来传递信息。