Me preguntaba si existe un Python relacionado con la función crypt() PHP que funciona de manera similar, generando un salt aleatorio e incrustándolo dentro de la cadena guardada. Tengo una tabla de contraseñas con hash que se crearon con la clave de $5$ string para configurar un criptogtwig basado en SHA256. Estos hash tenían un […]
Este ejemplo funciona bien ejemplo : import hashlib m = hashlib.md5() m.update(b”Nobody inspects”) r= m.digest() print(r) Ahora, quiero hacer lo mismo pero con una variable: var= “hash me this text, please” . ¿Cómo podría hacerlo siguiendo la misma lógica del ejemplo?
He estado revisando la documentación de hashlib, pero no he encontrado nada sobre el uso de sal cuando se trata de datos de hash . La ayuda sería genial.
Mi enfoque actual es este: def get_hash(path=PATH, hash_type=’md5′): func = getattr(hashlib, hash_type)() with open(path, ‘rb’) as f: for block in iter(lambda: f.read(1024*func.block_size, b”): func.update(block) return func.hexdigest() Se tarda unos 3,5 segundos para calcular el md5sum de un archivo iso de 842MB en un i5 a 1.7 GHz. He intentado diferentes métodos de leer el archivo, […]
Tengo un hash MD5 generado, que me gustaría comparar con otro hash MD5 de una cadena. La siguiente statement es falsa, a pesar de que tienen el mismo aspecto cuando las imprime y deben ser ciertas. hashlib.md5(“foo”).hexdigest() == “acbd18db4cc2f85cedef654fccc4a4d8” Google me dijo que debería codificar el resultado de hexdigest() , ya que no devuelve una […]
¿Cómo convierto una cadena, por ejemplo, una ID de usuario más sal, a una apariencia aleatoria pero en realidad una probabilidad uniforme repetiblemente determinista en el rango semiabierto [0.0, 1.0)? Esto significa que la salida es ≥ 0.0 y <1.0. La distribución de salida debe ser uniforme independientemente de la distribución de entrada. Por ejemplo, […]
¿Cómo convierto un entero sin signo (que representa un ID de usuario) a una opción aleatoria pero en realidad es una opción repetiblemente determinista? La elección debe seleccionarse con la misma probabilidad (independientemente de la distribución de los enteros de entrada). Por ejemplo, si tengo 3 opciones, es decir, [0, 1, 2] , a la […]
Bueno, hoy estaba revisando el módulo hashlib en Python, pero luego encontré algo que todavía no puedo entender. Dentro de este módulo de Python, hay una importación que no puedo seguir. Yo voy así: def __get_builtin_constructor(name): if name in (‘SHA1’, ‘sha1’): import _sha return _sha.new Intenté importar el módulo _sha desde un shell de python, […]
Con Python 2.7, el siguiente código calcula el hexdigest mD5 del contenido de un archivo. (EDIT: bueno, no realmente como las respuestas han mostrado, solo lo pensé). import hashlib def md5sum(filename): f = open(filename, mode=’rb’) d = hashlib.md5() for buf in f.read(128): d.update(buf) return d.hexdigest() Ahora, si ejecuto ese código usando python3, genera una excepción […]
Intenté instalar plone pero tengo un problema cuando ejecuto el script install.sh. Aquí están los detalles de los errores: raise ValueError(‘unsupported hash type %s’ % name) ValueError: unsupported hash type sha256 ERROR:root:code for hash sha384 was not found ValueError: unsupported hash type sha512 Leí en un foro que este error puede deberse a una versión […]