我想为交易创建一个唯一的标识符。
唯一性:
hashlib.md5( ( time.time() ).encode('utf-8') ).hexdigest()
取决于处理器的架构(多处理)?
答案 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