python 用md5生成16位长度字符串,求解
阿神
阿神 2017-04-18 09:40:58
0
3
1800

python 用md5生成16位长度字符串,求解

阿神
阿神

闭关修行中......

répondre à tous(3)
迷茫

Deux méthodes :

1. Aléatoire (pour être précis, il s'agit simplement d'une fonction qui génère aléatoirement un mélange de lettres et de chiffres de n'importe quelle longueur)

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 (每次都不同)

2. md5 (cela devrait être le résultat que vous souhaitez)

# 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]

Pièce jointe : La différence entre le cryptage MD5 16 bits et le cryptage MD5 32 bits

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

洪涛
import hashlib

data =  'This a md5 test!'
hash_md5 = hashlib.md5(data)

hash_md5.hexdigest() # 按16位输出

Résultat de sortie 'fdedaafb043d41ff06b6ef249ef53be9'

Ty80

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'
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal