python3 os.urandom
# os.urandom(n)
# Return a string of n random bytes suitable for cryptographic use.
# This function returns random bytes from an OS-specific randomness source.
import os import hashlib for i in range(1, 11): bytes_20 = os.urandom(20) print("%s: %s" % (i, bytes_20)) hex_32 = hashlib.md5(bytes_20).hexdigest() print("%s: %s" % (i, hex_32))
执行结果:
1: b'\x84{<8\x84\x17\xbb^u\xa9\xa0\xd2\xcf\x8e\x0cz\xa8\xbe~\xcd' 1: e0cb861e7851a1a7f766e89e235aa2ca 2: b'`\xfe!y\xf3\xed\xbe\x06t\x18\x80\xe8\xad\xada\x95\xb0f\xd4C' 2: cce8bef3a22aecc082c91054ec7c6bf5 3: b'\xd2\x1c\x96\x90\xd1dW\xa0\xfbY\xdd/;\xee2\x06\xbaR\x1es' 3: a7902517133c44535c8686fba28770e4 4: b'?Y\xbb\x00rO\xf0\xa1\x82#\xff+{b\x85\x8eDN \xb1' 4: cdc8468ffa5642afeb1b94bb6bed6bd7 5: b'&U_8h\xfaD\xf8\xf5)\xb3YP\xe6\xed\xdb\n#G}' 5: f61fe7fdaaa9dac6c15022997db804eb 6: b'\xc0\xab\xaaF\xca\xe7y\x93z\x10x\x7fY\xe7jWQ}\xae3' 6: 3cbdd329f5a4ce371b777ed55cdf889a 7: b'\x18\xff\x8c\x96\x89\xd6\x01x\xda\x12\xb5\xc4\xd2Y/i\xf8N\x85\xb0' 7: d24b45ca762be51d07f9b8cb236239d3 8: b'\xbe\x10RH\xd8\x9d*d\xd2\xda\xd9W\x1bC\xa4\xcd\x9fq\x167' 8: 417bc71a045858fca7bb754dc238d5eb 9: b'Fv\xe9\x07\r\x95\xe4\xc9W\xdb\xbb=\xe3m5\xd8\x8d\xca@\x16' 9: 44f83197dd35d1678cf4e356ca03e3ba 10: b'[\xca4Qt\xd46\xdf\xc4\xbd>\xe2\x9d\x89\xa0<\x9c{?\xe2' 10: a8826d75b0054f3c9021b648e477a30e