Home  >  Article  >  Backend Development  >  php加密用户密码和登录token

php加密用户密码和登录token

WBOY
WBOYOriginal
2016-06-06 20:49:101839browse

发现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,则证明客户端有正确的授权,所以给予某种权限,而不是用来传递信息。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn