【发布时间】:2016-01-17 14:26:54
【问题描述】:
我有一个业务目录的 Laravel5 Web 应用程序。
当我加密像
这样的值时$cryptval = Crypt::encrypt(1);
result = eyJpdiI6IndhaFZFNlhIRDlURzdXanJVMEhBM0E9PSIsInZhbHVlIjoidWF3VzRFZDhyRHltUlwveDdyV0VVWnc9PSIsIm1hYyI6IjE5YjA2YWIyN2Q0MTBlYjdhNDJiNDE5ZjY2OGQ2MDA2NzQ3ZTA4ODc4NzY0ZTIwMjBiMzQxN2RjNmM5ZDg3ZjYifQ==
它给出了一个大约 250 长度的长字符串。
有什么办法可以限制laravel中这个字符串的长度吗?
我的客户需要在邮件功能中添加具有加密值的 URL。 例如:
www.example.com/varify/eyJpdiI6IndhaFZFNlhIRDlURzdXanJVMEhBM0E9PSIsInZhbHVlIjoidWF3VzRFZDhyRHltUlwveDdyV0VVWnc9PSIsIm1hYyI6IjE5YjA2YWIyN2Q0MTBlYjdhNDJiNDE5ZjY2OGQ2MDA2NzQ3ZTA4ODc4NzY0ZTIwMjBiMzQxN2RjNmM5ZDg3ZjYifQ == P>
但是邮件功能只允许一定长度的 URL :(
【问题讨论】:
-
encrypt方法只接受$value参数,因此无法显式控制哈希的长度。为什么你需要它更短? -
你需要加密做什么?
-
这里真的需要加密吗?也许您应该改用某种令牌系统? (提示:加密字符串不是您通常放入 URL 的内容)
标签: php encryption laravel-5