La alŝuto aspektas difektita: komparu haketojn ĉe ambaŭ finoj
Malsukcesa alŝuto ne pruvas, ke la tunelo ŝanĝis bajtojn. Komparu la celitan dosieron kun la konservita rezulto, poste trovu la unuan limon, kie ili malkongruas.
Ricevantoj, kiuj ne povas malfermi alŝutitan dosieron, ofte aŭdas, ke la VPN difektis ĝin. Tio estas hipotezo, ne observo, kaj ĝi estas testebla. Antaŭ ol tuŝi la tunelon, determini ĉu la objekto nun konservita ĉe la celo diferencas de la objekto, kiu devis esti sendita. Ĉio alia sekvas el tiu respondo.
Komencu per la celitaj bajtoj, ne per la plendo
Elektu sendanĝeran dosieron, kiu reproduktas la problemon, aŭ la realan dosieron se politiko permesas, ke ĝi forlasu la fontan medion. Notu du aferojn antaŭ la transigo: la precizan grandecon en bajtoj kaj modernan enhavan haketon. Dosiernomoj, tempindikoj kaj antaŭrigardoj estas metadatenoj, kaj neniu el ili identigas enhavon.
Kalkulu la haketon per algoritmo, kiun ambaŭ finoj povas ruli, kaj skribu, kiun vi uzis. Komparo inter SHA-256 kaj MD5 ne estas komparo, kaj komparo inter du malsamaj dosieroj, kiuj hazarde havas la saman nomon, ankaŭ ne estas.
PS> Get-FileHash -LiteralPath "C:\uploads\report.csv" -Algorithm SHA256
Hash Path
---- ----
9F2C... C:\uploads\report.csv
La Get-FileHash-referenco de Microsoft dokumentas la komandon kaj ĝian algoritman parametron, ĝuste tiun parton, kiun homoj preterlasas, kiam komparo produktas sensencan malkongruon.
Unu haketo por etapo, sama algoritmo
Nun kalkulu la saman algoritmon sur la konservita objekto tie, kie ĝi finfine loĝas, per rajtigita metodo anstataŭ per kopio, kiu pasis tra alia ilo. Konservi la ricevitan dosieron loke kaj haketi tiun kopion aldonas paŝon, kiun vi ne testis.
Se la servo mem montras integrecan valoron, traktu ĝin kiel apartan observon. Kontrolsumo raportita de la provizanto povas diri al vi, kion la provizanto kredas konservinta, kaj tio ne estas la sama aserto kiel tio, kion sendis via kliento.
Tri rezultoj eblas, kaj ili montras en malsamajn direktojn. Egalaj haketoj signifas, ke la bajtoj alvenis senŝanĝe. Malsamaj haketoj kun konata konvertiĝo signifas, ke la servo intence produktis novan objekton. Malsamaj haketoj sen konvertiĝo signifas, ke io inter la du punktoj ŝanĝis la enhavon, kaj la sekva paŝo estas trovi la plej fruan limon, kie tio okazis.
Apartigu transigan malsukceson de transformo
Parta alŝuto kaj difektita alŝuto aspektas idente en dosiera retumilo kaj estas malsamaj paneoj. Kontrolu, ĉu la transigo finiĝis: aplika protokolo montranta interrompitan peton, konservita dosiero, kies grandeco estas prefikso de la fonto, aŭ objekto, kiu fakte estas erarpaĝo konservita sub la atendata etendo, ĉiuj indikas nekompletan transigon anstataŭ ŝanĝitajn bajtojn.
Transformo estas la alia komuna klarigo. Servo, kiu rekomprimis bildojn, reverkas CSV-linfinojn aŭ konvertas dokumenton, laŭleĝe produktos haketon, kiu diferencas de la fonto, kaj tio ne estas difekto. Komparu la etapon, kiu asertas esti la fidela kopio, ne la finan prezentan formaton.
Prokrasto kaj perdo apartenas al tria kategorio. Ili povas igi klienton tempolimi, reprovi aŭ rezigni, kaj nenio el tio implicas, ke bajtoj akceptitaj de la servilo estis silente ŝanĝitaj. Rigardu la transigan rezulton antaŭ ol atribui ion al la tunelo.
Provu duan vojon sen ŝanĝi ĉion
Se la haketoj vere diferencas kaj neniu konvertiĝo okazas, ripetu la saman dosieron, klienton, protokolon kaj celon per alia subtenata vojo, ekzemple loka reto anstataŭ la VPN. Ŝanĝu unu variablon. Ŝanĝi la klienton, la finpunkton kaj la ilon samtempe donas al vi rezulton, kiun vi ne povas atribui.
Tenu la komparon honesta en ambaŭ direktoj. Haketo diras al vi, ke du punktoj malkonsentas aŭ konsentas pri enhavo; ĝi ne diras, kiu flanko estas fidinda, do tenu la atendatan valoron kaj la kontrolon ene de la fida modelo, kiun vi fakte uzas.
Finu per specifa frazo en la bileto: la transigo haltis frue, la aplikaĵo transformis la objekton, la konservejo ŝanĝis ĝin, aŭ la bajtoj kongruas kaj legi ilin estas la paneo. Ĉiu el tiuj havas malsaman posedanton, kaj neniu el ili estas la VPN defaŭlte.