Fowler-Noll-Vo FNV1-64 হ্যাশ কোড ক্যালকুলেটর
প্রকাশিত: ১৭ ফেব্রুয়ারী, ২০২৫ এ ৯:৩৬:১৫ PM UTC
হ্যাশ কোড ক্যালকুলেটর যা টেক্সট ইনপুট বা ফাইল আপলোডের উপর ভিত্তি করে একটি হ্যাশ কোড গণনা করতে Fowler-Noll-Vo 1 64 বিট (FNV1-64) হ্যাশ ফাংশন ব্যবহার করে।Fowler-Noll-Vo FNV1-64 Hash Code Calculator
FNV-1 64-বিট হ্যাশ ফাংশনটি Fowler–Noll–Vo (FNV) পরিবারের হ্যাশ ফাংশনের অংশ, যা হ্যাশ মানগুলির একটি ভাল বন্টন বজায় রেখে দ্রুত হ্যাশিংয়ের জন্য ডিজাইন করা হয়েছে। এটি সাধারণত হ্যাশ টেবিল, চেকসাম এবং ডেটা লুকআপের মতো অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়। এটি একটি 64 বিট (8 বাইট) হ্যাশ কোড তৈরি করে, যা প্রায়শই 16 সংখ্যার হেক্সাডেসিমেল সংখ্যা হিসাবে উপস্থাপিত হয়।
সম্পূর্ণ প্রকাশ: আমি এই পৃষ্ঠায় ব্যবহৃত হ্যাশ ফাংশনের নির্দিষ্ট বাস্তবায়ন লিখিনি। এটি পিএইচপি প্রোগ্রামিং ভাষার সাথে অন্তর্ভুক্ত একটি স্ট্যান্ডার্ড ফাংশন। আমি কেবল সুবিধার জন্য এখানে সর্বজনীনভাবে উপলব্ধ করার জন্য ওয়েব ইন্টারফেসটি তৈরি করেছি।
Fowler-Noll-Vo FNV-1 64 বিট হ্যাশ অ্যালগরিদম সম্পর্কে
আমি গণিতবিদ নই, তবে আমি এই হ্যাশ ফাংশনটি এমন একটি উপমা ব্যবহার করে ব্যাখ্যা করার চেষ্টা করব যা আমার অ-গণিতবিদরা বুঝতে পারবেন। যদি আপনি একটি বৈজ্ঞানিকভাবে সঠিক, ভীতিকর-গণিত ব্যাখ্যা চান, আমি নিশ্চিত যে আপনি এটি অন্য কোথাও খুঁজে পেতে পারেন ;-)
প্রথমে, FNV-1 অ্যালগরিদমকে একটি বিশেষ স্মুদি তৈরির রেসিপি হিসেবে ভাবা যাক। আপনার যোগ করা প্রতিটি উপাদান (যেমন ফল, দুধ, বা মধু) এক টুকরো তথ্য উপস্থাপন করে - যেমন অক্ষর, সংখ্যা, এমনকি একটি সম্পূর্ণ ফাইল।
এখন, লক্ষ্য হল এই উপাদানগুলিকে খুব নির্দিষ্ট উপায়ে মিশ্রিত করা যাতে রেসিপিতে সামান্যতম পরিবর্তনও (যেমন একটি অতিরিক্ত ব্লুবেরি যোগ করা) স্মুদির স্বাদ সম্পূর্ণ ভিন্ন করে তোলে। হ্যাশ ফাংশনগুলি এভাবেই কাজ করে - তারা প্রতিটি অনন্য উপাদানের (অথবা ইনপুট ডেটা) জন্য একটি অনন্য "স্বাদ" (অথবা হ্যাশ মান) তৈরি করে।
FNV-1 অ্যালগরিদম যেভাবে এটি করে তা একটি বহু-পদক্ষেপ প্রক্রিয়া:
ধাপ ১: একটি বেস (অফসেট বেস) দিয়ে শুরু করুন
এটাকে তোমার ব্লেন্ডারে একটা বিশেষ স্মুদি বেস ঢেলে দেওয়ার মতো ভাবো। তুমি যে উপকরণই যোগ করো না কেন, এই বেস সবসময় একই থাকে। FNV-1-এ, একে "অফসেট বেস" বলা হয় - কেবল একটি অভিনব শুরুর সংখ্যা।
ধাপ ২: একের পর এক উপকরণ যোগ করুন (ডেটা প্রক্রিয়াকরণ)
এবার তুমি তোমার উপকরণগুলো এক এক করে যোগ করতে শুরু করো - ধরো একটা স্ট্রবেরি, তারপর একটা কলা, তারপর কিছু মধু। এগুলোর প্রত্যেকটিই এক বাইট ডেটা উপস্থাপন করে।
ধাপ ৩: একটি সিক্রেট মাল্টিপ্লায়ার (FNV প্রাইম) দিয়ে ব্লেন্ড করুন
প্রতিটি উপাদান যোগ করার পর, আপনি ব্লেন্ড বোতাম টিপুন, কিন্তু এখানেই মোড়: ব্লেন্ডার সবকিছুকে FNV প্রাইম নামক একটি গোপন "ম্যাজিক সংখ্যা" দিয়ে গুণ করে। এটি জিনিসগুলিকে সত্যিই ভালভাবে মিশ্রিত করতে সাহায্য করে।
ধাপ ৪: একটি ড্যাশ অফ ম্যাজিক যোগ করুন (XOR অপারেশন)
পরবর্তী উপাদান যোগ করার আগে, আপনি একটু জাদুকরী ধুলো ছিটিয়ে দিন (এটি XOR অপারেশন)। এটি অপ্রত্যাশিত উপায়ে স্বাদ উল্টানোর মতো, এমনকি ছোট পরিবর্তনগুলিও একটি বড় পার্থক্য তৈরি করে তা নিশ্চিত করার মতো।
ধাপ ৫: সম্পন্ন না হওয়া পর্যন্ত পুনরাবৃত্তি করুন
প্রতিটি নতুন উপাদানের পরে আপনি যাদু ছিটিয়ে দিতে থাকুন যতক্ষণ না আপনি সবকিছু প্রক্রিয়াজাত করেন।
ধাপ ৬: চূড়ান্ত স্মুদি (হ্যাশ ভ্যালু)
যখন তোমার কাজ শেষ হবে, তখন তুমি স্মুদি ঢেলে দেবে। চূড়ান্ত স্বাদ (হ্যাশ মান) উপাদানগুলির সঠিক সংমিশ্রণের জন্য অনন্য। যদি তুমি আরও একটি ব্লুবেরি যোগ করতে, তাহলে এর স্বাদ সম্পূর্ণ ভিন্ন হত।
এখানে উপস্থাপিত সংস্করণটি আসল FNV-1 64 বিট সংস্করণ। এছাড়াও একটি উন্নত FNV-1a 64 বিট সংস্করণ উপলব্ধ রয়েছে: Fowler-Noll-Vo FNV1a-64 হ্যাশ কোড ক্যালকুলেটর