HASH

HASH

de Rodrigo Jorgeluis Laguna Queirolo -
Número de respuestas: 5

Buenas!

Tengo esta parte "andando" aunque no me queda del todo claro si esta bien. Me hice unos casos de prueba que los comparto aca, con las "salidas" como para ver si a alguien le dio lo mismo (OJO no estoy seguro de que el mio ande bien).

En esta parte se llama a la funcion i2osp (la que pasa a strings). Segun lo que se dijo pueden haber varias implementaciones respecto al formato de salida [ https://eva.fing.edu.uy/mod/forum/discuss.php?d=47803 ], asi que lo corri para las dos que tengo implementados (formato "xxxxxxxx" y "xx xx xx xx").

Las entradas fueron:


mgf1("qwerty",10)
mgf1("asdfghjkl",15)
mgf1("zxcvbnm",20)
mgf1("poiuy",25)
mgf1("mnbvcxz",7)
mgf1("qazwsx",5)

 

Las salidas que obtuve se las dejo en estos archivos, (la de "con_espacios.sal" se corresponde a la implementacion de i2osp con salida "xx xx xx" y la de "sin_espacios.sal" se corresponde a la implementacion de i2osp con salida "xxxxxx")

Espero que a alguien le sirva, si  no coinciden avisen que el nuestro puede estar mal.

En respuesta a Rodrigo Jorgeluis Laguna Queirolo

Re: HASH

de Alejandro Añon Mallo -

A mi me da el string vacio en todos menos en mgf1("poiuy",25) porque cuando hago el "for" de la parte 3 del algoritmo, al ser hLen = 20, para los casos en que maskLen < 20 el ceil(maskLen/hLen) - 1 me da 0, entonces no itera ninguna vez y devuelve el string vacio. No se si está bien, pero así lo entendí yo al menos.

En el de mgf1("poiuy",25) me devuelve lo siguiente cuando lo hago con espacios:

'\xd1/\xb3\xf8\xf1\xdb\xf5:tmZ]\xb0\xd5\x10\xf2\xa6\xb0\x02\xd8'

y lo siguiente cuando lo hago sin espacios:

'\x04\xda\xbc\xdc\xe8Y^>\xf2\x1a\x1a\xf6\x9dF]#\xba\xa6\xca5'

Saludos

En respuesta a Alejandro Añon Mallo

Re: HASH

de Nathan Ryan -

Yo leo las especificaciones así:  

se debería escribir algo como

 

for i in xrange(0,ceil(maskLen/hLen)):

 

y en el caso de maskLen = 10 y hLen = 20, debería iterar por i=0.

En respuesta a Nathan Ryan

Re: HASH

de Maria Carolina Monteghirfo Santoro -
Buenas! Hay posibilidad de que suban algun caso de prueba para esta funcion? Me refiero a ejemplos de entradas y salidas. Gracias
En respuesta a Maria Carolina Monteghirfo Santoro

Re: HASH

de Nathan Ryan -

Están bien lo que ya Rodrigo y Alejandro subieron al foro.

 

Rodrigo hizo un hash_class().hexdigest()

y

Alejando hizo un hash_class().digest()

 

Yo prefiero el hex digest porque ya está todo en hexidecimal, pero ambos están bien.

N