So I'm writing a module to that needs to generate unique cookies. The module will run inside one of two environments: (1) a trivial test wrapper, not threaded, and (2) a lomg-running multithreaded server. Because Python garbage-collects, hash() of a just-created object isn't good enough. Because we may be threading, millisecond time isn't good enough. Because we may *not* be threading, thread ID isn't good either. On the other hand, I'm on Linux getting millisecond time resolution. And it's not hard to notice that an object hash is a memory address. So, how about `time.time()` + hex(hash([]))? It looks to me like this will remain unique forever, because another thread would have to create an object at the same memory address during the same millisecond to collide. Furthermore, it looks to me like this hack might be portable to any OS with a clock tick shorter than its timeslice. Comments? -- <a href="http://www.tuxedo.org/~esr/">Eric S. Raymond</a> Good intentions will always be pleaded for every assumption of authority. It is hardly too strong to say that the Constitution was made to guard the people against the dangers of good intentions. There are men in all ages who mean to govern well, but they mean to govern. They promise to be good masters, but they mean to be masters. -- Daniel Webster
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4