password online objects must hashing encoded create before python hash md5

online - Hash aleatorio en Python



sha1 python (8)

Creo que lo que está buscando es un identificador único universal. Luego, el UUID del módulo en python es lo que está buscando.

import uuid uuid.uuid4().hex

UUID4 le proporciona un identificador único aleatorio que tiene la misma longitud que una suma md5. Hex representará como una cadena hexagonal en lugar de devolver un objeto uuid.

http://docs.python.org/2/library/uuid.html

¿Cuál es la forma más fácil de generar un hash aleatorio (MD5) en Python?


El módulo de secrets fue agregado en Python 3.6+. Proporciona valores aleatorios criptográficamente seguros con una sola llamada. Las funciones toman un argumento nbytes opcional, el valor predeterminado es 32 (bytes * 8 bits = tokens de 256 bits). MD5 tiene hashes de 128 bits, por lo que proporciona 16 para tokens "similares a MD5".

>>> import secrets >>> secrets.token_hex(nbytes=16) ''17adbcf543e851aa9216acc9d7206b96'' >>> secrets.token_urlsafe(16) ''X7NYIolv893DXLunTzeTIQ'' >>> secrets.token_bytes(128 // 8) b''/x0b/xdcA/xc0./x0e/x87/x9b`/x93//Ev/x1a|u''


Esto funciona tanto para python 2.xy 3.x

import os import binascii print(binascii.hexlify(os.urandom(16))) ''4a4d443679ed46f7514ad6dbe3733c3d''


Otro enfoque a esta pregunta específica:

import random, string def random_md5like_hash(): available_chars= string.hexdigits[:16] return ''''.join( random.choice(available_chars) for dummy in xrange(32))

No digo que sea más rápido o preferible a cualquier otra respuesta; solo que es otro enfoque :)


Sin embargo, otro enfoque. No tendrá que formatear un int para obtenerlo.

import random import string def random_string(length): pool = string.letters + string.digits return ''''.join(random.choice(pool) for i in xrange(length))

Te da flexibilidad en la longitud de la cuerda.

>>> random_string(64) ''XTgDkdxHK7seEbNDDUim9gUBFiheRLRgg7HyP18j6BZU5Sa7AXiCHP1NEIxuL2s0''


Un md5-hash es solo un valor de 128 bits, así que si quieres uno aleatorio:

import random hash = random.getrandbits(128) print "hash value: %032x" % hash

Aunque realmente no veo el punto. Tal vez deberías explicar por qué necesitas esto ...


import os, hashlib hashlib.md5(os.urandom(32)).hexdigest()


import uuid from md5 import md5 print md5(str(uuid.uuid4())).hexdigest()