前言
最近在进行PHP的学习,使用Laravel的进行登录密码加密解密的时候,看到方法有点多所以在这里做一下总结
提示:以下是本篇文章正文内容,下面案例可供参考
一、加密算法
- md5加密
这种加密方式,大家肯定不会陌生。他会随机生成一个32位的字符串,这个字符串是恒定不变的。
$str = 'salt' + '123456'
return md5($str) //会生成一个32位的字符串
加密完成后,你只需要把每次加密的后的内容进行比较。如果相同即密码正确,反之密码错误。
- 哈希加密
会生成一个65位的hash字符串。并且相同的内容每次生成的hash字符串是不一样的。因此我们需要解密后在进行对比
$str = '123456';
$hash = Hash::make($str); //加密
$hash = Hash::check($str,$str); //对比解密后的字符串与输入的字符串
- crypt加密
会生成一个255位的字符串。相同的内容加密后的字符串也是不相同的。所以对比密码还是需要进行解密。
$str = '123456'
$crypt_str = Crypt::encrypt($str);//加密
Crypt::decrypt($crypt_str); //解密
总结
如果以后接触到其他的加密算法会来这里做更新的。