Maison > Questions et réponses > le corps du texte
迷茫2017-04-18 09:42:58
Deux méthodes :
import random
import string
def id_generator(size=16, chars=string.ascii_letters + string.digits):
return ''.join(random.choice(chars) for _ in range(size))
print(id_generator())
# 结果 nrICjdPKnxZdp4tI (每次都不同)
# Python 2.x
import hashlib
print hashlib.md5("fuck gfw").hexdigest()[8:-8]
# Python 3.x
import hashlib
print(hashlib.md5("fuck gfw".encode('utf-8')).hexdigest())[8:-8]
Le cryptage MD5 est généralement un codage sur 32 bits. En fait, il n'a parfois besoin que de 16 bits, donc comme vous pouvez le voir, une étape supplémentaire est nécessaire pour prendre les 16 bits du milieu. le meilleur
PHP中文网2017-04-18 09:42:58
import hashlib
data = 'This a md5 test!'
hash_md5 = hashlib.md5(data)
hash_md5.hexdigest() # 按16位输出
Résultat de sortie 'fdedaafb043d41ff06b6ef249ef53be9'
PHP中文网2017-04-18 09:42:58
Le moyen le plus simple devrait être :
>>> import hashlib
>>> hashlib.md5("test").digest()
"\t\x8fk\xcdF!\xd3s\xca\xdeN\x83&'\xb4\xf6"
De cette façon, un MD5 de 128 bits (16 bits) est obtenu. Mais ce n'est pas intuitif, j'utilise habituellement le format hexadécimal :
.>>> hashlib.md5("test").hexdigest()
'098f6bcd4621d373cade4e832627b4f6'