oro*_*aki 28 python uuid unique
我看到退出了一些独特的字符串生成实现,比如上传的图像名称,会话ID等等,其中许多都使用了像SHA1或其他类似的哈希.
我不是在质疑使用这样的自定义方法的合法性,而只是因为它的原因.如果我想要一个独特的字符串,我只想这样说:
>>> import uuid
>>> uuid.uuid4()
UUID('07033084-5cfd-4812-90a4-e4d24ffb6e3d')
Run Code Online (Sandbox Code Playgroud)
而且我已经完成了它.在我读到uuid之前,我不是很信任,所以我这样做了:
>>> import uuid
>>> s = set()
>>> for i in range(5000000): # That's 5 million!
>>> s.add(str(uuid.uuid4()))
...
...
>>> len(s)
5000000
Run Code Online (Sandbox Code Playgroud)
不是一个中继器(我不认为现在考虑的可能性是1.108e + 50,但看到它在行动中是令人欣慰的).你甚至可以通过组合2 uuid4()秒来制作你的弦乐的一半.
那么,有了这个说,为什么人们花时间在随机()和其他东西上寻找独特的字符串等?关于uuid是否存在重要的安全问题?
Ari*_*ion 20
使用哈希来唯一标识资源允许您从对象生成"唯一"引用.例如,Git使用SHA散列来创建一个唯一的散列,表示单个提交的确切变更集.由于散列是确定性的,因此每次都会为同一个文件获取相同的散列值.
世界各地的两个人可以独立地对相同的回购做出同样的改变,而Git会知道他们做出了同样的改变.UUID v1,v2和v4不支持,因为它们与文件或文件的内容无关.
| 归档时间: |
|
| 查看次数: |
19016 次 |
| 最近记录: |