Gå til innhold

Anbefalte innlegg

Er det mulig å finne en sjekksum til en mappe (med mange filer)?

 

Jeg har et program som putter mange xml-filer i en mappe kalt 'filer'. De som skal ha denne mappen med xml-filer vil også ha en sjekksum for alle filene. De må også kunne sjekke at denne stemmer..

 

Jeg har fått til å finne sjekksummen til en fil, men ikke for en hel mappe.. Er det mulig? I tilfelle hvordan?

Lenke til kommentar
Videoannonse
Annonse

MD5 regner jo ut en en verdi utfra dataene du sender inn så det er jo bare å finne en fast rekkefølge å sende dataene inn med.

 

Du kan f. eks. pøse på med data inn i algoritmen, når en fil er ferdig fortsetter du med den neste. Husk å sørge for at filene blir matet i en bestemt rekkefølge (f. eks alfabetisk).

Denne metoden kikker bare på fil dataene og ikke metadata (f. eks. navn, endrings tid osv.) som det kan være kjekt å ta med.

 

Du kan jo også bare ta md5en av md5ene til alle filene.

Lenke til kommentar
Viss jeg gjør det vil ikke rekkefølgen være av betydning sant?

Jo, rekkefølgen har en betydning. Du må sørge for å sortere dataen din, f.eks. etter navn eller date modified. (Gitt at disse holder seg konstante mellom hver lagring)

Lenke til kommentar
Nå sier du ikke noe om hvilket språk du bruker. Men her er hvordan man kan gjøre det i bash ved å bruke tar og md5sum. Blir kanskje ikke så elegant dersom du i språket ditt må først opprette akrivet, så utføre md5sum etterpå.

 

tar -cf - mappeMedMasseFiler | md5sum

 

Dette tenkte jeg også på først, men jeg får ikke lov til å bruke arkiver :(

 

Viss jeg gjør det vil ikke rekkefølgen være av betydning sant?

Jo, rekkefølgen har en betydning. Du må sørge for å sortere dataen din, f.eks. etter navn eller date modified. (Gitt at disse holder seg konstante mellom hver lagring)

 

Sjekket det ut, og rekkefølgen har selvsagt betydning ja =) Sorterer etter navn nå :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...