FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
¿Como funciona MD5?
Hola, estoy pensando en implementar mi aplicacion con la comprobacion de archivo corrupto usando MD5. ¿Pero como funciona esto?
Ojo, no pido que me digais como hacerlo, sino que me orienteis si es posible claro. Por ejemplo: ¿Que pasos se darian a partir de pasarle a esa funcion un archivo "x"? generaria alguna cadena alfanumerica que contenga la informacion de ese archivo y luego que? con que se compara para saber si el archivo esta o no corrupto? Perdonad pero nunca he usado esto y estoy super perdido y lo que encuentro en google gira en torno a la encriptacion de datos pero yo pretendo otra cosa ¿no? Saludos y gracias. |
#2
|
||||
|
||||
danielmj,
Cita:
Cita:
Nelson. |
#3
|
|||
|
|||
A grandes razgos, consigues una unidad que calcule el MD5, las que eh visto, manejan archivos, solo le pasas la ubicacion y te regresan el MD5, despues lo conviertes a hexadecimal, generalmente la unidad tambien trae la conversion, y listo! ya tienes ese hash, para checarlo, pues sacas otro hash y que sean iguales...
|
#4
|
||||
|
||||
No la ubicacion del archivo. El archivo completo.
__________________
El malabarista. |
#5
|
||||
|
||||
gracias luisgutierrezb, estoy ahora mismo leyendo y mirando informacion sobre esto. En cuanto a tu respuesta, me ha servido para tener una idea mas general pero concreta. Espero aclararme.
Saludos. |
#6
|
||||
|
||||
Hola mancx, imagino que te refieres a la ruta completa+nombre de archivo, al menos eso es lo que yo suponia, de otra forma aun sabiendo la ubicacion del archivo, no tendrá el nombre de este. Bueno, veremos a ver como se me da esto del hash!
saludos y gracias. |
#7
|
||||
|
||||
Buenas, encontré esta unidad en la pagina de seoane:
Y hago la llamada con el siguiente codigo:
Devolviendome el siguiente valor alfanumerico/hex: "6dd7123776aaac7aa289b68ec03cccfeecd405d3" Mi pregunta es ¿Ese sería el hash del archivo dado o sería el hash del contenido TEdit, tomado como cadena de texto? Espero haberme explicado. Y por otra parte, si tengo un archivo de por ejemplo 10 Gb y lo corto con la aplicación hacha, ¿sería correcto obetener el hash del primer archivo cortado .001? Y una vez unido de nuevo el archivo, ¿con que hash lo comparo para saber si se ha unido correctamente con el obtenido del archivo .001 y archivo unido? Saludos y gracias de antemano. [/color] |
#8
|
||||
|
||||
Como rayos vas a saber que:
Cita:
http://stackoverflow.com/questions/9...algorithm-work http://www.makeuseof.com/tag/md5-has...ogy-explained/ Esto significa que el nombre del archivo no importa. Si archivo.zip y archivo.txt tienen el mismo contenido, el HASH dará igual. Un hash es una función en un solo sentido que da como resultado la misma salida en base a la misma entrada, pero no se puede derivar en base a la salida cual fue la entrada. Ten en cuenta que si haces un hash de un archivo de 5 Gigas y no tienes la precaución de procesar el archivo por batches usando un stream, cargaras los 5GB en memoria...
__________________
El malabarista. |
#9
|
||||
|
||||
mamcx,
Cita:
Nelson. |
#10
|
||||
|
||||
danielmj,
Cita:
El código anterior es una implementación de la rutina de Calcular hash md5 de la Web de Seoane, como se muestra en la siguiente imagen: El ejemplo esta disponible en el siguiente link: http://terawiki.clubdelphi.com/Delph...wnload=MD5.rar Espero sea útil Nelson |
#11
|
||||
|
||||
Hay dos funciones en la unidad de Seoane.
A CalcHash le pasas la ruta y nombre del archivo y te devuelve su Hash. CalcHash2 calcula el Hash de un string.
Por lo que tu código debe quedar así:
|
#12
|
||||
|
||||
Hola duilioisola, es cierto justo después de escribir el mensaje en el foro, seguía mirandome la función y vi esto que comentas. Gracias por el apunte. De hecho hice una prueba que no sé si será correcta o no, lo que hice fue calcular el hash de una imagen jpg y luego la misma imagen abrirla con photoshop editar sus niveles, guardarla y volver a calcular el hash, y pude comprobar como eran distintos uno de otro, por lo que he supuesto que es un ejemplo valido de archivo "corrupto" en el sentido de tener dos hash diferentes sobre el mismo archivo. ¿sería valido el ejemplo? Un saludo. |
#13
|
||||
|
||||
danielmj,
Cita:
Espero sea útil Nelson. |
#14
|
||||
|
||||
Muchas gracias nlsgarcia y buen avatar!
Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
UPX ¿como funciona? | JXJ | Varios | 3 | 08-02-2009 19:58:54 |
ClientDataSet, como funciona? | Pollo2004 | Varios | 18 | 14-11-2008 13:26:19 |
como saber si la red funciona??? | User_baja1 | Varios | 1 | 11-05-2005 20:07:25 |
¿Como funciona el TQRExprMemo? | judoboy | Impresión | 2 | 18-07-2003 12:21:16 |
DBF Como funciona? | Descendents | Conexión con bases de datos | 1 | 15-07-2003 22:39:00 |
|