Attēls: FNV-1 32 bitu jaucējkodolagoritms — vizuāls pārskats
Publicēts: 2026. gada 12. janvāris 13:29:17 UTC
Pēdējo reizi atjaunināts: 2026. gada 9. janvāris 21:41:23 UTC
Skaidra ainavas blokshēma, kas izskaidro FNV-1 32 bitu jaucējalgoritma galvenos posmus, sākot no ievades baitiem līdz galīgajam jaucējkodā iegūtajam rezultātam.
FNV-1 32-Bit Hash Algorithm – Visual Overview

Šī attēla pieejamās versijas
Tālāk lejupielādei pieejamie attēlu faili ir mazāk saspiesti un augstākas izšķirtspējas - un līdz ar to arī augstākas kvalitātes - nekā šīs vietnes rakstos un lapās ievietotie attēli, kuru izmērs ir optimizēts, lai samazinātu joslas platuma patēriņu.
Regulāra izmēra (1,536 x 1,024)
Liels izmērs (3,072 x 2,048)
Ļoti liels izmērs (4,608 x 3,072)
Īpaši liels izmērs (6,144 x 4,096)
Komiski liels izmērs (1,048,576 x 699,051)
- Joprojām augšupielādē... ;-)
Attēla apraksts
Attēls ir plata, ainavas orientēta infografika ar nosaukumu "FNV-1 32 bitu jaucējkodolagoritms", kas augšpusē attēlota ar lielu, tumšu tekstu. Kopējais stils ir tīrs, plakans un pamācošs, izmantojot noapaļotus taisnstūrus, apļus un bultiņas, lai vadītu skatītāju no kreisās uz labo pusi. Fons ir balts, piešķirot diagrammai vieglu, sakārtotu izskatu, kas piemērots mācīšanai.
Kreisajā malā ir zils, noapaļots taisnstūris ar nosaukumu "Input Data" (Ievades dati). Zem šī lodziņa ir neliela horizontāla daudzkrāsainu bloku rinda, kas attēlo atsevišķus datu baitus. Īsa bultiņa ved no šī ievades lodziņa uz diagrammas centru, norādot heša procesa sākumu.
Tālāk ir dzeltens, noapaļots taisnstūris ar nosaukumu "Offset Basis" (Nobīdes bāze) ar mazāku parakstu zem tā "32 bitu vērtība". Šis lodziņš apzīmē algoritma sākotnējo iekšējo stāvokli pirms jebkādu ievades baitu apstrādes. Bultiņa no ievades datiem norāda uz šo nobīdes bāzes lodziņu, parādot, ka algoritms sāk ar šo iepriekš definēto sākuma vērtību.
No nobīdes bāzes plūsma turpinās oranžā apļveida mezglā ar apzīmējumu "XOR". Tieši zem šī apļa atrodas neliels krāsainu baitu ikonu pāris, kas anotēts kā "Ievades baits", uzsverot, ka katrs sākotnējo datu baits tiek apvienots ar pašreizējo jaucējkoda stāvokli, izmantojot bitu XOR operāciju. Vizuālais attēlojums norāda, ka šis XOR solis tiek atkārtots katram baitam.
Pēc XOR soļa bultiņa norāda uz zilu apļveida mezglu, kas apzīmēts ar reizināšanas simbolu, konceptuāli apzīmēts kā "Reizināt ar FNV pirmskaitli" virs plūsmas. Tas norāda, ka algoritms reizina starpvērtību ar fiksētu pirmskaitli, lai vēl vairāk sajauktu bitus un izplatītu izmaiņas visā jaucējkodā.
Reizināšanas apļa labajā pusē ir zaļš, noapaļots taisnstūris ar nosaukumu "32 bitu jaucējkoda rezultāts". Tas attēlo mainīgo jaucējkoda vērtību pēc viena vai vairāku baitu apstrādes un galu galā algoritma ģenerēto galīgo 32 bitu jaucējkodu pēc tam, kad visi ievades dati ir patērēti.
Virs galvenās lodziņu un apļu rindas plāna horizontāla līnija ar mazām lejupvērstām bultiņām ietver tādu tekstu kā "Sākt ar nobīdes bāzi", "XOR ar baitu", "Reizināt ar FNV pirmskaitli" un "32 bitu jaucējvērtība". Šie paraksti kalpo kā soli pa solim sniegts ceļvedis, kas vienkāršā valodā apkopo algoritma posmus.
Diagrammas apakšdaļā no kreisās uz labo pusi stiepjas gara bultiņa ar tekstu "Atkārtot katram datu baitam". Tas precizē, ka XOR un reizināšanas darbības veido ciklu, kas tiek piemērots katram baitam ievades secībā, nevis tikai vienai darbībai.
Kopumā diagrammā netiek izmantotas specifiskas skaitliskās konstantes, un tā vietā uzmanība tiek pievērsta konceptuālajai plūsmai: ievades baiti nonāk procesā, tiek inicializēts iekšējais stāvoklis, katrs baits tiek XOR apstrādāts ar pašreizējo vērtību, rezultāts tiek reizināts un cikls atkārtojas, līdz tiek ģenerēts galīgais 32 bitu jaucējkods. Atšķirīgu krāsu izmantošana katram posmam padara algoritmu viegli izprotamu pat iesācējiem.
Attēls ir saistīts ar: Fowler-Noll-Vo FNV1-32 jaucējkoda kalkulators
