تصویر: الگوریتم هش ۶۴ بیتی FNV-1a - نمودار جریان مفهومی

منتشر شده: ۱۲ ژانویهٔ ۲۰۲۶ ساعت ۱۳:۲۷:۴۵ (UTC)
آخرین به روز رسانی: ۹ ژانویهٔ ۲۰۲۶ ساعت ۲۱:۲۶:۵۳ (UTC)

اینفوگرافیک ساده و واضح که جریان سطح بالای الگوریتم هش ۶۴ بیتی FNV-1a را از بایت‌های ورودی از طریق یک حلقه پردازش ساده تا خروجی هش نهایی توضیح می‌دهد.


این صفحه ماشینی از انگلیسی ترجمه شد تا در دسترس هر چه بیشتر مردم باشد. متأسفانه، ترجمه ماشینی هنوز یک فناوری کامل نشده است، بنابراین ممکن است خطاهایی رخ دهد. در صورت تمایل می توانید نسخه اصلی انگلیسی را در اینجا مشاهده کنید:

FNV-1a 64-bit Hash Algorithm – Conceptual Flow Diagram

اینفوگرافیکی که بایت‌های ورودی را نشان می‌دهد که مراحل XOR و ضرب را طی می‌کنند تا یک خروجی هش ۶۴ بیتی FNV-1a تولید کنند.

نسخه‌های موجود از این تصویر

فایل‌های تصویری که در زیر برای دانلود موجود است، نسبت به تصاویر موجود در مقالات و صفحات این وب‌سایت که برای کاهش مصرف پهنای باند، از نظر حجم فایل بهینه‌تر شده‌اند، فشرده‌سازی کمتری داشته و وضوح بالاتری دارند - و در نتیجه، کیفیت بالاتری دارند.

اندازه معمولی (1,536 x 1,024)

سایز بزرگ (3,072 x 2,048)

سایز بسیار بزرگ (4,608 x 3,072)

سایز فوق العاده بزرگ (6,144 x 4,096)

اندازه‌ی کمیک بزرگ (1,048,576 x 699,051)

  • هنوز در حال آپلود هستم... ;-)

شرح تصویر

این تصویر یک اینفوگرافیک آموزشی عریض و منظره‌محور است که جریان الگوریتم هش ۶۴ بیتی FNV-1a را در سطح مفهومی توضیح می‌دهد. این تصویر از یک پس‌زمینه سفید تمیز با آبی و سبز پاستلی ملایم، مستطیل‌های گرد و فلش‌های ساده برای هدایت خواننده از چپ به راست استفاده می‌کند. در منتهی‌الیه سمت چپ، یک پشته عمودی از مستطیل‌های کوچک با برچسب "بایت‌های ورودی" نشان‌دهنده جریانی از داده‌های ورودی است. این بلوک‌های بایت کمی جابجا شده‌اند تا نشان دهند که الگوریتم داده‌ها را یک به یک پردازش می‌کند. یک فلش از این پشته به یک کادر گرد بزرگتر با برچسب "وضعیت هش" یا "وضعیت فعلی" منتهی می‌شود که نشان می‌دهد یک مقدار داخلی در حال اجرا در حال به‌روزرسانی است.

از این کادر حالت، نمودار وارد یک جریان حلقه‌ای می‌شود. این حلقه با یک فلش خمیده که دور دو کادر مرکزی می‌پیچد، رسم شده است که از نظر بصری ایده تکرار برای هر بایت ورودی را تقویت می‌کند. اولین کادر مرکزی با عنوان "XOR با حالت" برچسب‌گذاری شده است و یک آیکون بایت کوچک را نشان می‌دهد که در کادر حالت ادغام شده است و یک عملیات ترکیبی را بدون نامگذاری هیچ ثابت یا الگوی بیتی مشخصی نشان می‌دهد. کادر دوم با عنوان "حالت ضرب" برچسب‌گذاری شده است و مستقیماً پس از کادر XOR متصل شده است و مرحله مفهومی دوم را که حالت را بیشتر تغییر می‌دهد، نشان می‌دهد. دو کادر به صورت افقی، با فلش‌هایی بین آنها، تراز شده‌اند و فلش حلقه از کادر ضرب به سمت مسیر پردازش ورودی قوس می‌دهد و روشن می‌کند که این دو مرحله برای هر بایت تکرار می‌شوند.

در سمت راست حلقه، یک فلش پررنگ با برچسب «بعد از همه بایت‌ها» به یک مستطیل بزرگ نهایی با برچسب «خروجی هش ۶۴ بیتی» اشاره می‌کند. این کادر خروجی از نظر بصری متمایز است، کمی تیره‌تر از بقیه، تا تأکید کند که محصول نهایی الگوریتم است. درون کادر فقط برچسب متنی قرار دارد؛ هیچ عدد یا نمودار بیتی وجود ندارد، که باعث می‌شود محتوا عمومی و در برابر اشتباهات مقاوم باشد.

در سراسر اینفوگرافیک، از آیکون‌های کوچک مانند نمادهای بایت ساده‌شده و فلش‌های دایره‌ای برای افزودن وضوح و بدون شلوغی استفاده شده است. تایپوگرافی بزرگ و کاربرپسند است و برای زبان‌آموزان طراحی شده است و هر برچسب به زبان ساده و نه با نمادگذاری ریاضی بیان شده است. هیچ اشاره‌ای به ثابت‌های خاص، جبران‌ها، اعداد اول یا عملیات دقیق فراتر از نام‌های سطح بالا "XOR" و "Multiply" وجود ندارد، که تضمین می‌کند نمودار حتی با وجود پیاده‌سازی‌های متفاوت، به‌طور کلی صحیح باقی می‌ماند.

در مجموع، ترکیب‌بندی به طور طبیعی از چپ به راست خوانده می‌شود: داده‌ها به صورت بایت وارد می‌شوند، با یک حالت اجرا ترکیب می‌شوند، بارها و بارها در یک حلقه دو مرحله‌ای تبدیل می‌شوند و در نهایت به عنوان یک مقدار هش ۶۴ بیتی منتشر می‌شوند. سبک بصری مدرن و قابل فهم است و باعث می‌شود الگوریتم کمتر ترسناک به نظر برسد، در حالی که هنوز ساختار اساسی فرآیند FNV-1a را منتقل می‌کند.

تصویر مربوط به: ماشین حساب کد هش Fowler-Noll-Vo FNV1a-64

در Bluesky به اشتراک بگذاریددر فیسبوک به اشتراک بگذاریددر لینکدین به اشتراک بگذاریددر Tumblr به اشتراک بگذاریددر X به اشتراک بگذاریدپین در پینترستدر Reddit به اشتراک بگذارید