[php] md5 hash van een bestand verandert

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • chielsen
  • Registratie: Oktober 2003
  • Laatst online: 20-09 01:17
Ik heb iets heel raars:

ALs ik de md5 hash neem van een bestand.. Die upload naar een server (waar het nog steeds dezelfde md5 hash is) en deze nu via Curl in php weer download is de hash veranderd.
Toch is de grootte nog steeds hetzelfde en is het bestand niet corrupt...
Wat kan er mis zijn?

Acties:
  • 0 Henk 'm!

  • PommeFritz
  • Registratie: Augustus 2001
  • Laatst online: 20-07-2024

PommeFritz

...geen friet

chielsen schreef op zondag 16 januari 2005 @ 14:01:en deze nu via Curl in php weer download is de hash veranderd.
Toch is de grootte nog steeds hetzelfde en is het bestand niet corrupt...
Contradictio in terminus.

Als je md5 anders is --> vrijwel 100% zeker je data ook anders.

Hoe bedoel je "het bestand is niet corrupt"? Ik zou juist concluderen: md5 anders, dus bestand corrupt. Daar is md5 o.a. juist voor...

FireFox - neem het web in eigen hand


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Lokaal windows, remote linux en uploaden met ascci? Dan zijn je newlines aangepast.

edit: Hmm, dan zou het bestand ook kleiner moeten zijn.

Gokken blijft lastig. Ipv dat je alleen md5 gebruikt is het natuurlijk veel makkelijker om eens even een diff te draaien tussen beide versies, dan weet je gelijk wat er anders is.

[ Voor 60% gewijzigd door Janoz op 16-01-2005 14:16 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • chielsen
  • Registratie: Oktober 2003
  • Laatst online: 20-09 01:17
Inderdaad is lokaal windows en remote linux..

Maar ik heb dus al gestest: op het moment van versturen van linux terug naar windows, is het hetzelfde als het begin vanaf windows.
Dus heen gaat prima, alleen terug (via Curl) veranderd er iets.

Het is nota bene ook een tgz file, en volgens mij doet winrar automatisch crc checking en die geeft ook niks aan (ik kan hem prima uitpakken).

Hoe doe ik een diff trouwens?

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Wat doet Curl dan precies met dat bestand? Dat lijkt me relevant om te weten.

Acties:
  • 0 Henk 'm!

  • PommeFritz
  • Registratie: Augustus 2001
  • Laatst online: 20-07-2024

PommeFritz

...geen friet

Is het een text file? met diff
Is het een binary file? met cmp
moet je wel los installeren (cygwin) op windows.

Weet je zeker dat je ook de juiste check uitvoert op het teruggekeerde bestand? (openen in binary mode en zo)

FireFox - neem het web in eigen hand


Acties:
  • 0 Henk 'm!

  • chielsen
  • Registratie: Oktober 2003
  • Laatst online: 20-09 01:17
Ik weet nu dat het hieraan ligt:

Ik stuur het bestand op deze manier van de remote linux bak:

<?php
$bestand = "update.tgz";
$contents = file_get_contents($bestand);

header("Content-type: application/x-compressed");
echo $contents;
?>

Die header maakt trouwens niet uit...
Als ik direct het bestand benader krijg ik wel de goede hash.
Iets waar ik overheen kijk?

Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Byte ordering probleem misschien? Wellicht is de windows kant little endian, en de unix kant big endian? (Als het een sparc is oid) Maar dan zou het alsnog goed moeten gaan in principe...

Acties:
  • 0 Henk 'm!

  • chielsen
  • Registratie: Oktober 2003
  • Laatst online: 20-09 01:17
Nou heb het hoor...

Er stond nog een spatie achter de ?>, die stuurde hij dus ook mee en daardoor was de md5 anders.
Bedankt voor de hulp iig!
Pagina: 1