lørdag, januar 23, 2021

Hashcode til downloadede filer ændre sig

Daily Rush Debat Programmering Hashcode til downloadede filer ændre sig

  • Forfatter
    Emne
  • #0

    Festival_H
    Bruger
    4.630 indlæg
    Offline

    Møjn.

    Jeg har et GIGA problem.

    Jeg har lavet noget custom install software som downloader de seneste versioner af nogle andre filer og for at være sikker på at overførslen ikke er gået galt har jeg implementeret et hashcode check.

    Det vil sige at jeg, når jeg ligger nye filer på til download, regner de nye filers checksum ud og ligger disse i en fil som install softwaren kan aflæse og derved tjekke at den har downloadet filerne 100% uden fejl.

    Koden blev skrevet for vel 3-4 år siden og har virket upåklageligt indtil for ~4 uger siden.

    Af en eller anden ukendt årsag får mine downloadede filer for det meste en anden hashcode end den jeg aflæser når jeg ligger filerne op.

    Hvis jeg retryer downloaden er det kun en sjælen gang at hashcode ‘rammer’ rigtig, men for det meste er det den forkerte hash.

    Hvis jeg prøver at bruge filen virker der som om den er rigtig downloadet. Hvis jeg tester hashcode fra et andet program så stemmer hashcode overens med den forkerte hashcode.

    Dette bevirker at mit install program looper og looper indtil det lykkedes den at ramme den rigtige hashcode!

    FUCKED UP.

    Nogle der har oplevet lignende?

    Og husk nu: densutterjoikksigselv.dk

Viser 15 kommentarer - 1 til 15 (af 23 i alt)
  • Forfatter
    Kommentarer
  • #1

    TheRaz
    Bruger
    9.294 indlæg
    Offline

    Men er checksum den samme på de downloadede filer, som derfra hvor du henter dem? Forstår ikke helt hvad du mener med ‘ligger filerne op’?

    Jeg har atomer i bukserne. Og så kan man desuden aldrig få CPU'er nok. Det er ganske enkelt naturvidenskabeligt umuligt.

    #2

    Festival_H
    Bruger
    4.630 indlæg
    Offline

    Filerne blir lagt på en webserver og så downloader applicationen via http.

    Inden upload af nye filer indsamles hashcodes og gemmes i en XML file om også ligger på denne webserver.

    Men når vi så downloader filerne så passer hashcoden ikke længere. Eller ikke hver gang i hvert fald. Nogle gange passer hashcoden overens med det forventede.

    Dette er som sagt ikke nyudvikling. Dette har været i luften i nogle år og det har virket ud over alle forventninger, men for 4 uger siden holdt det op eller blev utrolig ustabil.

    Og husk nu: densutterjoikksigselv.dk

    #3

    gnavpot
    Bruger
    2.494 indlæg
    Offline

    Noget må jo ændre sig.

    Og der må være tale om en lille ting. En enkelt byte eller lign. Ellers ville du jo aldrig ramme den rigtige kode bare ved et lille antal forsøg.

    Det eneste jeg kan komme i tanke om er at du måske får hashet et tidsstempel på filen med… f.eks. en sekundtællers sidste tal. eller lign.

    I så fald er det din hashing algoritme som hasher over for meget… hvilket er mærkeligt hvis det har kørt ok i 3-4år.

    Måske er der ændret filsystem på det drev du downloader til? (Og fejlen så ikke viste sig tidligere fordi det gamle filsystem ikke havde datoer… eller hvad ved jeg.)

    Vi kan ikke hjælpe ret meget mere ud fra den smule oplysninger, da der jo tydeligvis ikke er tale om et generelt hashingproblem.

    Hellere komme galt afsted, end slet ikke komme afsted.

    #4

    ahymdahl5
    Tilskuer
    9.421 indlæg
    Offline

    Hvis jeg ikke tager helt fejl, så skyldes det ustabil linje, hvor pakkerne går tabt undervejs. Formålet med hash er jo, at sikre en fil, når til dig uden ændringer undervejs.

    Prøv at downloade fra et andet netværk, så kan du udelukke lidt. Eller hvis muligt, prøv at downloade fra en anden server.

    Un dos tres Maria!

    #5

    _Venom
    Bruger
    5.364 indlæg
    Offline

    #4 jeg tror næppe at det er det der er tilfældet. Umiddelbart beregnes hash’et her på den samlede fil både serverside og clientside, ikke undervejs.

    Ved du hvilken af de to hash-værdier der er “rigtig”? (den som serveren har i xml, eller den klienten beregner). Det kan jo også være at noget går galt med den hash-værdi der gemmes… antager dog ikke at det er tilfældet, da du siger at der kommer forskellige hash-værdier ud af separate downloads.

    (Redigeret 30-02-3045 13:37)

    #6

    Festival_H
    Bruger
    4.630 indlæg
    Offline

    Det er den hash i xmlen der er den rigtige.

    Har prøvet at downloade filerne med chrome og lave hash check på dem bagefter og chrome kan sgu heller ikke finde ud af det altid…

    Tidsstempler indgår ikke i det checksum vi laver på filen. Kun indholdet.

    Hvad fuck mand!

    Og husk nu: densutterjoikksigselv.dk

    #7

    _Venom
    Bruger
    5.364 indlæg
    Offline

    #6 det er vel bytes der beregnes ud fra, så det er næppe noget encoding…

    (Redigeret 30-02-3045 13:37)

    #8

    Festival_H
    Bruger
    4.630 indlæg
    Offline

    #4 Jeg gør det at jeg downloader filen og laver en hash checksum på den downloadede fil og sammenligner med den checksum der står i xmlen.

    Det burde virke og har virket lige siden jeg skrev det for 3-4 år siden.

    Det er sådan noget her der virkelig får mig til at HADE at være udvikler.

    “Setuppen kan ikke længere downloade. FIX DET”
    “Jamen der er ikke ændret i koden i 4 år”
    “Du må have ændret noget for nu virker det ikke længere”

    “ARRRRHHHHH!”

    Gæt hvilke af dialogerne der er mig

    Og husk nu: densutterjoikksigselv.dk

    #9

    Festival_H
    Bruger
    4.630 indlæg
    Offline

    #7 Det kan det heller ikke være for så ville det jo fejle 100% af gangene og det gør det bare ikke.

    Kun 97%. Engang imellem der lykkedes det!

    FUCK JEG HADER EDB!

    Og husk nu: densutterjoikksigselv.dk

    #10

    ahymdahl5
    Tilskuer
    9.421 indlæg
    Offline

    Hold nu tungen lige i munden!

    Fejlsøg som en pro, så vil du opdage. Jeg er ikke selv en udvikler, men netværksmand og jeg ved hash kan påvirkes ved ustabil linje. Om det tilfældet her, aner jeg det ikke. Men det muligt, hvis koden har været den samme i flere år.

    Prøv et andet netværk, en anden server, en anden computer osv. så kommer du til bunds.

    Un dos tres Maria!

    #11

    TheRaz
    Bruger
    9.294 indlæg
    Offline

    Vil ikke rode mig ud i teknik jeg ikke har begreb om, men skrives der på nogen måde til de downloadede filer? Og hvis det er ustabilitet/støj på linien kan det undersøges med de rette værktøjer.

    Du nævner at det startede for ca. 4 uger siden. Har du ændret noget på dit setup omkring det tidspunkt?

    Jeg har atomer i bukserne. Og så kan man desuden aldrig få CPU'er nok. Det er ganske enkelt naturvidenskabeligt umuligt.

    #12

    Fisker
    Bruger
    12.648 indlæg
    Offline

    Du siger at filerne ser ud til at virke uanset om de har den rigtige hash eller ej.

    Har du faktisk forsøgt at sammenligne filerne?

    Har du eventuelt forsøgt at bruge en anden server/klient for at udelukke fejl på serveren og klienten?

    #13

    thile
    Bruger
    130 indlæg
    Offline

    Prøv at gå udenom http.
    Få adgang til webserveren’s filsystem, og lav en checksum af filen der direkte ligger på serveren.
    Denne bør matche den korrekte hash.

    Hvis dette er tilfældet så sker fejlen under download.

    #14

    _Venom
    Bruger
    5.364 indlæg
    Offline

    #10
    rolig nu. holder du tungen lige i munden risikerer du at bide den af

    Du har ret i at der kan ske fejl i netværkstrafikken, således at filen er korrupt og derfor vil give en anden hash-værdi, men at det skulle ske så konsekvent lyder jævnt usandsynligt.

    rækkefølgen af pakker eller direkte pakketab er jævnt irrelevant, eftersom overførselsprotokollerne tager hensyn (de tager ikke nødvendigvis højde for korrupte pakker dog).

    (Redigeret 30-02-3045 13:37)

    #15

    _Venom
    Bruger
    5.364 indlæg
    Offline

    af nysgerrighed: bruger du en bestemt hash-algoritme eller har du bare bikset noget sammen?

    Ellers er #13’s nok dit næste trin. Evt prøve at beregne hash for den samme fil på forskellige computere, bare for at udelukke det.

    (Redigeret 30-02-3045 13:37)

Viser 15 kommentarer - 1 til 15 (af 23 i alt)
  • Du skal være logget ind for at kommentere på dette indlæg.