在Python(特别是Django(中是否有办法为使用散列用户ID的文件构建URL?
我想使用散列 ID 进行文件身份验证,即request.user.id to
文件路径的部分进行比较。
我已经研究了Django的"make_password",但这似乎超出了我的需要。我读过os.urandom
但听起来不像是可以逆转的。
最后,我的目标是保护用户 ID 不成为 URL 的一部分,但允许轻松的文件访问身份验证/权限。
你可能想看看 Hashids,尽管名称如此,但它不是加密哈希,因为它们是可逆的:
Hashids 是一个小型开源库,可从数字生成短、唯一、非顺序 ID。
它将像 347 这样的数字转换为像"yr8"这样的字符串,或者像 [27, 986] 这样的数字数组转换为像 "3kTMd"。
您还可以将这些 ID 解码回来。这在将多个参数捆绑为一个参数或简单地将它们用作短 UID 时很有用。
存在一个库可以将 Hashids 字段添加到 Django 的 ORM 中。