哈希的唯一性(时间)

时间:2014-07-13 14:41:24

标签: python hash architecture md5 processor

我想为交易创建一个唯一的标识符。

唯一性:

hashlib.md5( ( time.time() ).encode('utf-8') ).hexdigest()

取决于处理器的架构(多处理)?

3 个答案:

答案 0 :(得分:2)

如果您需要唯一标识符,请使用UUIDs。不要尝试使用时间戳来烹饪自己的UUID等效项。

答案 1 :(得分:0)

哈希可能会碰撞不同的时间值。您将需要使用UUID - 特别是UUID1(有多个版本的UUID)

https://docs.python.org/2/library/uuid.html#uuid.uuid1

UUID1使用时间作为输入,因此只要生成UUID的时间不同,就可以保证输出不同。

答案 2 :(得分:0)

首先,哈希不依赖于体系结构,因为哈希算法是算法,根据算法的定义,它们必须是“定义良好”的步骤来实现某些东西,所以不,架构等不会产生任何影响。

其次md5不安全,因为在'合理'时间内可能对不同的值具有相同的md5哈希值。 see wikipedia md5sum #security