我使用Hash :: make来哈希我的laravel api控制器中的客户ID。但是当我返回Hashed客户ID时,我会得到错误的字符。这是我的代码:
$key=Hash::make($input['key']);
$createnewkey=DB::table('customers')->where('custid', $input['custid'])
->update(array("key"=>$key));
return ["STATUS"=>1, "KEY"->$key];
我得到了例如:Av $ @ wqe @!3aferty10 / 2YyAU ....并且已经保存在数据库中。
但请求响应是:Av $ @ wqe @!3aferty10 / \ 2YyAU \或/总是替换为/ \会破坏我的哈希码比较
答案 0 :(得分:1)
Laravel Hash
使用password_hash
的{{1}}功能。此函数将生成 base64 编码的字符串。其角色列表中包含PHP
。因此,如果您在URL中传递该URL,您的网址将会损坏。
相反,您可以使用/
来加密在URls中传递的密钥。
这是laravel的hashids
端口:https://github.com/vinkla/laravel-hashids