【发布时间】:2020-02-18 16:06:29
【问题描述】:
我正在开发一个包含用户和个人资料图片的项目。我需要将这些图像保存在一个文件夹中,并且能够通过知道用户 ID 来接收图像。
我正在想象类似/images/profiles/{hash of user ID here}.png
用户 ID 将是一个整数,例如 52 或 495
- 用于散列网址的标准是什么?
- 为此目的使用来自
bcrypt的password_hash是否安全? - 我还有哪些其他选择?
【问题讨论】:
-
为什么要混淆它?只需使用用户 ID。
-
用户不一定是公开的。如果我不混淆它,他们的个人资料图片就会公开。不知道为什么我必须证明这一点。
-
不要求你证明任何事情。如果图片有 URL,则无论您如何处理该名称,该图片都将公开可用。无论如何,像用户 ID 的 MD5 散列这样简单的东西就足够了。你并不是真的想保护任何东西,只是让它变得不那么明显。
-
我基本上不希望用户猜测网址几乎是不可能的。据我所知,MD5 被密码破解了,我猜如果它被使用了,很容易发现它。
-
因为它是单向哈希,即使有人知道它是 MD5 哈希,您也不会拥有重复的用户 ID,因此有人可能会尝试“破解”它以找出答案检索图片的用户 ID 没有意义。如果您不希望它明显是 MD5 哈希或 password_hash 哈希,则可以简单地使用带有微秒和随机字符的日期戳。
标签: url encryption hash bcrypt