XXH-128 ماشین حساب کد هش
منتشر شده: ۱۸ فوریهٔ ۲۰۲۵ ساعت ۱۷:۰۹:۰۱ (UTC)
ماشین حساب کد هش که از تابع هش XXHash 128 بیتی (XXH-128) برای محاسبه کد هش بر اساس ورودی متن یا آپلود فایل استفاده می کند.XXH-128 Hash Code Calculator
XXH که با نام XXHash نیز شناخته می شود، یک الگوریتم هش سریع و غیر رمزنگاری است که برای عملکرد و کارایی بالا طراحی شده است، به ویژه در شرایطی که سرعت بسیار مهم است، مانند فشرده سازی داده ها، چک سام ها و نمایه سازی پایگاه داده. نوع ارائه شده در این صفحه یک کد هش 128 بیتی (16 بایت) تولید می کند که معمولا به عنوان یک عدد هگزادسیمال 32 رقمی تجسم می شود.
افشای کامل: من پیاده سازی خاصی از تابع هش مورد استفاده در این صفحه را ننوشتم. این یک تابع استاندارد است که در زبان برنامه نویسی PHP گنجانده شده است. من فقط رابط وب را ایجاد کردم تا برای راحتی در اینجا در دسترس عموم قرار دهم.
درباره الگوریتم هش XXH-128
من یک ریاضیدان نیستم، اما سعی می کنم این تابع هش را با استفاده از قیاسی توضیح دهم که همکاران غیر ریاضیدانان من می توانند آن را درک کنند. اگر یک توضیح ریاضی علمی صحیح و کامل را ترجیح می دهید، مطمئن هستم که می توانید آن را در جای دیگری پیدا کنید ;-)
سعی کنید XXHash را به عنوان یک مخلوط کن بزرگ تصور کنید. شما می خواهید یک اسموتی درست کنید، بنابراین دسته ای از مواد مختلف را اضافه می کنید. نکته خاص در مورد این مخلوط کن این است که اسموتی با همان اندازه را بدون توجه به تعداد ماده ای که آن را در آن قرار می دهید، تولید می کند، اما اگر حتی تغییرات کوچکی در مواد ایجاد کنید، اسموتی با طعم کاملا متفاوت دریافت خواهید کرد.
مرحله 1: میکس داده ها
داده های خود را به عنوان دسته ای از میوه های مختلف در نظر بگیرید: سیب، موز، توت فرنگی.
- آنها را در مخلوط کن می اندازید.
- شما آنها را با سرعت بالا ترکیب می کنید.
- مهم نیست که میوه ها چقدر بزرگ بودند، در نهایت یک اسموتی کوچک و خوب مخلوط شده خواهید داشت.
مرحله 2: سس مخفی - هم زدن با اعداد "جادویی"
برای اطمینان از غیرقابل پیش بینی بودن اسموتی (هش)، XXHash یک عنصر مخفی اضافه می کند: اعداد بزرگ "جادویی" به نام اعداد اول. چرا اعداد اول؟
- آنها به مخلوط کردن داده ها به طور یکنواخت تر کمک می کنند.
- آنها مهندسی معکوس مواد اصلی (داده ها) اسموتی (هش) را دشوار می کنند.
مرحله 3: افزایش سرعت: خرد کردن به صورت عمده
XXHash فوق العاده سریع است زیرا به جای خرد کردن یک میوه در یک زمان، آن:
- گروه های بزرگی از میوه ها را به یکباره خرد می کند.
- این مانند استفاده از یک غذاساز غول پیکر به جای یک چاقوی کوچک است.
- این به XXHash اجازه می دهد تا گیگابایت داده ها را در ثانیه مدیریت کند - مناسب برای فایل های بزرگ!
مرحله 4: لمس نهایی: افکت بهمن
جادو اینجاست:
- حتی اگر فقط یک چیز کوچک را تغییر دهید (مانند کاما در یک جمله)، اسموتی نهایی طعم کاملا متفاوتی دارد.
- به این اثر بهمن می گویند:
- تغییرات کوچک = تفاوت های زیاد در هش.
- مثل این است که یک قطره رنگ خوراکی به آب اضافه کنید و ناگهان کل لیوان تغییر رنگ می دهد.