Articles of hash

wpa-handshake con python – dificultades de hash

Intento escribir un progtwig Python que calcula el protocolo de enlace WPA, pero tengo problemas con los hashes. Para comparar, instalé Cowpatty (para ver dónde empiezo a estar equivocado) . Mi generación de PMK funciona bien, pero el cálculo de PTK también parece estar mal. No estoy seguro si tengo que formatear mi entrada (macadresses […]

Python: ¿Cómo funcionan los sets?

Tengo una lista de objetos que quiero convertir en un conjunto. Mis objetos contienen algunos campos, algunos de los cuales son o.id y o.area . Quiero que dos objetos sean iguales si estos dos campos son iguales. es decir: o1==o2 si y solo si o1.area==o2.area and o1.id==o2.id Intenté __eq__ y __cmp__ pero me __cmp__ el […]

¿Qué es más aleatorio, hashlib o urandom?

Estoy trabajando en un proyecto con un amigo en el que necesitamos generar un hash aleatorio. Antes de que tuviéramos tiempo para discutir, ambos propusimos enfoques diferentes y, como están usando módulos diferentes, quería preguntarle a todos qué sería mejor, si es que existe algo así. hashlib.sha1(str(random.random())).hexdigest() o os.urandom(16).encode(‘hex’) Escribir esta pregunta me ha llevado […]

calcular crc de archivo en python

Quiero calcular el CRC del archivo y obtener una salida como: E45A12AC . Aquí está mi código: #!/usr/bin/env python import os, sys import zlib def crc(fileName): fd = open(fileName,”rb”) content = fd.readlines() fd.close() for eachLine in content: zlib.crc32(eachLine) for eachFile in sys.argv[1:]: crc(eachFile) Esto calcula el CRC para cada línea, pero su salida (por ejemplo, […]

Set literal da un resultado diferente de la llamada a la función set.

¿Por qué la llamada a la función set borra los dupes, pero el análisis de un literal set no lo hace? >>> x = Decimal(‘0’) >>> y = complex(0,0) >>> set([0, x, y]) {0} >>> {0, x, y} {Decimal(‘0’), 0j} (Python 2.7.12. Posiblemente la misma causa raíz para esta pregunta similar)

¿La función hash de python sigue siendo idéntica en las diferentes versiones?

Actualmente estoy usando hash en tuplas de enteros y cadenas (y tuplas anidadas de enteros y cadenas, etc.) para calcular la unicidad de algunos objetos. Salvo que pueda haber colisiones hash, me pregunto: ¿está garantizada la función hash en esos tipos de datos para devolver el mismo resultado para diferentes versiones de Python?

¿Serializar el estado de cálculo de MD5 y reanudar más tarde?

Quiero serializar / deserializar el contexto md5. Pero no sé cómo hacerlo en Python. Seudocódigo de lo que quiero hacer. import md5 # Start hash generation m = md5.new() m.update(“Content”) # Serialize m serialized_m = serialize(m) # In another function/machine, deserialize m # and continue hash generation m2 = deserialize(serialized_m) m2.update(“More content”) m2.digest() Hay bibliotecas […]

Python: ¿por qué puedo poner un objeto mutable en un dict o set?

Dado el siguiente ejemplo, class A(object): pass a = A() ax = 1 Obviamente, una es mutable, y luego la coloco en un conjunto, set([a]) Tuvo éxito ¿Por qué puedo poner un objeto mutable como “a” en un set / dict? ¿No debería establecer / dict solo permitir objetos inmutables para que puedan identificar el […]

Lista imprimible, pero hashable tupla?

¿ En cómo hash listas? Me dijeron que primero debería convertir a una tupla, por ejemplo, [1,2,3,4,5] a (1,2,3,4,5) . Así que el primero no puede ser hecho un hash, pero el segundo puede. ¿Por qué * ? * Realmente no estoy buscando una explicación técnica detallada, sino una intuición.

¿Por qué Python no tiene listas de hash usando ID?

Al usar un diccionario en Python, lo siguiente es imposible: d = {} d[[1,2,3]] = 4 ya que ‘list’ is an unhashable type . Sin embargo, la función id en Python devuelve un entero para un objeto que se garantiza que sea único para la vida útil del objeto. ¿Por qué Python no usa id […]