Articles of hashlib

¿Hay una forma más rápida (que esta) de calcular el hash de un archivo (usando hashlib) en Python?

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, […]

Compara el resultado de hexdigest () con una cadena

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 […]

Convertir la cadena a aleatoria pero con probabilidad determinista repetible

¿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, […]

Convertir un entero en una elección aleatoria pero deterministicamente repetible

¿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 […]

_sha importar en hashlib python

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, […]

Uso de hashlib para calcular el resumen md5 de un archivo en Python 3

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 […]

tipo hash no admitido al instalar plone

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 […]

¿Sobrescribir con seguridad las variables de Python en la RAM?

Estoy haciendo un progtwig en Python que involucrará el hashing de una contraseña. Suponiendo que uso esto para obtener la contraseña: import getpass password = getpass.getpass(“Password: “) Y luego, hash, ¿hay alguna forma de eliminar de forma segura todos los rastros de la contraseña no lavada de la RAM?

Eliminar todos los caracteres de una cadena cuyos ordinales estén fuera de rango

¿Cuál es una buena manera de eliminar todos los caracteres que están fuera del rango: ordinal(128) de una cadena en python? Estoy usando hashlib.sha256 en python 2.7. Estoy recibiendo la excepción: UnicodeEncodeError: el códec ‘ascii‘ no puede codificar el carácter u ‘\ u200e’ en la posición 13: ordinal no está dentro del rango (128) Supongo […]

El objeto ‘frozenset’ no se puede llamar.

Cuando bash importar hashlib en cualquier contexto, hashlib este error: File “”, line 1, in File “build/bdist.macosx-10.11-intel/egg/hashlib.py”, line 115, in “”” TypeError: ‘frozenset’ object is not callable ¿Alguna idea de cómo puedo resolver esto? Estoy generando este error simplemente abriendo Terminal, ejecutando python y luego escribiendo import hashlib .