Laravel“Hash :: make”替代url参数?

时间:2017-08-18 15:17:37

标签: php laravel

我怎样才能在Laravel中进行哈希url paramaters? 我知道Hash :: make方法,但这是密码的方法(那些哈希不是非常友好的url)。 Laravel是否有替代品,所以我可以散列像http://url?key=2jd8dka72

这样的参数

2 个答案:

答案 0 :(得分:2)

您可以使用Laravel Encrypt功能。

放  use Illuminate\Support\Facades\Crypt; 在标题部分,而不是使用Crypt::encrypt($param)加密param和Crypt::decrypt($param)来解密它。

答案 1 :(得分:0)

只需添加@header(‘HTTP/1.1 200 OK’); @header (‘Cache-Control:public, max-age=31536000’);` 编码即可使其看起来更友好。

base64

检查时:

use Hash;
...
$id = 15;
$key = base64_encode(Hash::make($id));
echo "http://someurl?send_mail_to_user=$id&key=$key";

另一种方法是在另一个基础上使用一些复杂的函数,如大数字。但它并不安全(只是通过默默无闻的安全性):

use Hash;
...
$keyDecoded = base64_decode($request->key);
if(Hash::check($request->id, $keyDecoded)) {
   // checked
}