我需要生成可用于文件名的唯一标识符,并且在给定相同输入值的情况下可以再现。由于源输入有数百万种组合,因此我需要生成数百万个这些标识符。
为了简单起见,我将在示例中使用一个小集合,但实际集合可能相当大(数百甚至数千项)。它们比手动编码到文件名中的内容更大。
我注意到生成UUID的第5种方法允许您提供字符串输入。
为了简单起见,我将在示例中使用一个小集合,但实际集合可能相当大(数百甚至数千项)。它们比手动编码到文件名中的内容更大。
我注意到生成UUID的第5种方法允许您提供字符串输入。
> input_set = {'apple', 'banana', 'orange'}
> uuid.uuid5(uuid.NAMESPACE_URL, pickle.dumps(input_set)).hex
'f39926529ad45997984643816c1bc403'
文档称其在内部使用SHA1
。冲突的风险太高了吗?有没有更好的方法可靠地哈希唯一标识符?