Miklix

Fowler-Noll-Vo FNV1-32 হ্যাশ কোড ক্যালকুলেটর

প্রকাশিত: ১৮ ফেব্রুয়ারী, ২০২৫ এ ১২:১৭:০২ AM UTC

হ্যাশ কোড ক্যালকুলেটর যা টেক্সট ইনপুট বা ফাইল আপলোডের উপর ভিত্তি করে একটি হ্যাশ কোড গণনা করতে Fowler-Noll-Vo 1 32 bit (FNV1-32) হ্যাশ ফাংশন ব্যবহার করে।

এই পৃষ্ঠাটি যতটা সম্ভব মানুষের কাছে পৌঁছানোর জন্য ইংরেজি থেকে মেশিন অনুবাদ করা হয়েছে। দুর্ভাগ্যবশত, মেশিন অনুবাদ এখনও একটি নিখুঁত প্রযুক্তি নয়, তাই ত্রুটি হতে পারে। আপনি যদি চান, আপনি এখানে মূল ইংরেজি সংস্করণটি দেখতে পারেন:

Fowler-Noll-Vo FNV1-32 Hash Code Calculator

FNV-1 32-বিট হ্যাশ ফাংশনটি Fowler–Noll–Vo (FNV) হ্যাশ ফাংশন পরিবারের অংশ, যা হ্যাশ মানগুলির একটি ভাল বন্টন বজায় রেখে দ্রুত হ্যাশিংয়ের জন্য ডিজাইন করা হয়েছে। এটি সাধারণত হ্যাশ টেবিল, চেকসাম এবং ডেটা লুকআপের মতো অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়। এটি একটি 32 বিট (4 বাইট) হ্যাশ কোড তৈরি করে, যা প্রায়শই 8 সংখ্যার হেক্সাডেসিমেল সংখ্যা হিসাবে উপস্থাপিত হয়।

সম্পূর্ণ প্রকাশ: আমি এই পৃষ্ঠায় ব্যবহৃত হ্যাশ ফাংশনের নির্দিষ্ট বাস্তবায়ন লিখিনি। এটি পিএইচপি প্রোগ্রামিং ভাষার সাথে অন্তর্ভুক্ত একটি স্ট্যান্ডার্ড ফাংশন। আমি কেবল সুবিধার জন্য এখানে সর্বজনীনভাবে উপলব্ধ করার জন্য ওয়েব ইন্টারফেসটি তৈরি করেছি।


নতুন হ্যাশ কোড গণনা করুন

এই ফর্মের মাধ্যমে জমা দেওয়া তথ্য বা আপলোড করা ফাইলগুলি সার্ভারে কেবল ততক্ষণ রাখা হবে যতক্ষণ অনুরোধ করা হ্যাশ কোড তৈরি করতে সময় লাগে। ফলাফল আপনার ব্রাউজারে ফেরত পাঠানোর আগেই এটি মুছে ফেলা হবে।

ইনপুট ডেটা:



জমা দেওয়া টেক্সটটি UTF-8 এনকোডেড। যেহেতু হ্যাশ ফাংশন বাইনারি ডেটার উপর কাজ করে, তাই ফলাফলটি অন্য এনকোডিংয়ে থাকা টেক্সটের ফলাফল থেকে ভিন্ন হবে। যদি আপনাকে একটি নির্দিষ্ট এনকোডিংয়ে একটি টেক্সটের হ্যাশ গণনা করতে হয়, তাহলে আপনার পরিবর্তে একটি ফাইল আপলোড করা উচিত।



Fowler-Noll-Vo FNV-1 32 বিট হ্যাশ অ্যালগরিদম সম্পর্কে

আমি গণিতবিদ নই, তবে আমি এই হ্যাশ ফাংশনটি এমন একটি উপমা ব্যবহার করে ব্যাখ্যা করার চেষ্টা করব যা আমার অ-গণিতবিদরা বুঝতে পারবেন। যদি আপনি একটি বৈজ্ঞানিকভাবে সঠিক, ভীতিকর-গণিত ব্যাখ্যা চান, আমি নিশ্চিত যে আপনি এটি অন্য কোথাও খুঁজে পেতে পারেন ;-)

প্রথমে, FNV-1 অ্যালগরিদমকে একটি বিশেষ স্মুদি তৈরির রেসিপি হিসেবে ভাবা যাক। আপনার যোগ করা প্রতিটি উপাদান (যেমন ফল, দুধ, বা মধু) এক টুকরো তথ্য উপস্থাপন করে - যেমন অক্ষর, সংখ্যা, এমনকি একটি সম্পূর্ণ ফাইল।

এখন, লক্ষ্য হল এই উপাদানগুলিকে খুব নির্দিষ্ট উপায়ে মিশ্রিত করা যাতে রেসিপিতে সামান্যতম পরিবর্তনও (যেমন একটি অতিরিক্ত ব্লুবেরি যোগ করা) স্মুদির স্বাদ সম্পূর্ণ ভিন্ন করে তোলে। হ্যাশ ফাংশনগুলি এভাবেই কাজ করে - তারা প্রতিটি অনন্য উপাদানের (অথবা ইনপুট ডেটা) জন্য একটি অনন্য "স্বাদ" (অথবা হ্যাশ মান) তৈরি করে।

FNV-1 অ্যালগরিদম যেভাবে এটি করে তা একটি বহু-পদক্ষেপ প্রক্রিয়া:

ধাপ ১: একটি বেস (অফসেট বেস) দিয়ে শুরু করুন

এটাকে তোমার ব্লেন্ডারে একটা বিশেষ স্মুদি বেস ঢেলে দেওয়ার মতো ভাবো। তুমি যে উপকরণই যোগ করো না কেন, এই বেস সবসময় একই থাকে। FNV-1-এ, একে "অফসেট বেস" বলা হয় - কেবল একটি অভিনব শুরুর সংখ্যা।

ধাপ ২: একের পর এক উপকরণ যোগ করুন (ডেটা প্রক্রিয়াকরণ)

এবার তুমি তোমার উপকরণগুলো এক এক করে যোগ করা শুরু করো - ধরো একটা স্ট্রবেরি, তারপর একটা কলা, তারপর কিছু মধু। এগুলোর প্রত্যেকটিই এক বাইট ডেটা উপস্থাপন করে।

ধাপ ৩: একটি সিক্রেট মাল্টিপ্লায়ার (FNV প্রাইম) দিয়ে ব্লেন্ড করুন

প্রতিটি উপাদান যোগ করার পর, আপনি ব্লেন্ড বোতাম টিপুন, কিন্তু এখানেই মোড়: ব্লেন্ডার সবকিছুকে FNV প্রাইম নামক একটি গোপন "ম্যাজিক সংখ্যা" দিয়ে গুণ করে। এটি জিনিসগুলিকে সত্যিই ভালভাবে মিশ্রিত করতে সাহায্য করে।

ধাপ ৪: একটি ড্যাশ অফ ম্যাজিক যোগ করুন (XOR অপারেশন)

পরবর্তী উপাদান যোগ করার আগে, আপনি একটু জাদুকরী ধুলো ছিটিয়ে দিন (এটি XOR অপারেশন)। এটি অপ্রত্যাশিত উপায়ে স্বাদ উল্টানোর মতো, এমনকি ছোট পরিবর্তনগুলিও একটি বড় পার্থক্য তৈরি করে তা নিশ্চিত করার মতো।

ধাপ ৫: সম্পন্ন না হওয়া পর্যন্ত পুনরাবৃত্তি করুন

প্রতিটি নতুন উপাদানের পরে আপনি যাদু ছিটিয়ে দিতে থাকুন যতক্ষণ না আপনি সবকিছু প্রক্রিয়াজাত করেন।

ধাপ ৬: চূড়ান্ত স্মুদি (হ্যাশ ভ্যালু)

যখন তোমার কাজ শেষ হবে, তখন তুমি স্মুদি ঢেলে দেবে। চূড়ান্ত স্বাদ (হ্যাশ মান) উপাদানের সঠিক সংমিশ্রণের জন্য অনন্য। যদি তুমি আরও একটি ব্লুবেরি যোগ করতে, তাহলে এর স্বাদ সম্পূর্ণ ভিন্ন হত।

এখানে উপস্থাপিত সংস্করণটি মূল FNV-1 32 বিট সংস্করণ। এছাড়াও একটি উন্নত FNV-1a 32 বিট সংস্করণ উপলব্ধ রয়েছে: Fowler-Noll-Vo FNV1a-32 হ্যাশ কোড ক্যালকুলেটর

ব্লুস্কাইতে শেয়ার করুনফেসবুকে শেয়ার করুনলিংকডইনে শেয়ার করুনটাম্বলারে শেয়ার করুনX-এ শেয়ার করুনলিংকডইনে শেয়ার করুনপিন্টারেস্টে পিন করুন

মিকেল ব্যাং ক্রিস্টেনসেন

লেখক সম্পর্কে

মিকেল ব্যাং ক্রিস্টেনসেন
মিকেল হলেন miklix.com এর স্রষ্টা এবং মালিক। একজন পেশাদার কম্পিউটার প্রোগ্রামার/সফ্টওয়্যার ডেভেলপার হিসেবে তার ২০ বছরেরও বেশি অভিজ্ঞতা রয়েছে এবং বর্তমানে তিনি একটি বৃহৎ ইউরোপীয় আইটি কর্পোরেশনে পূর্ণকালীন কর্মরত। ব্লগিং না করার সময়, তিনি তার অবসর সময় বিভিন্ন আগ্রহ, শখ এবং কার্যকলাপে ব্যয় করেন, যা কিছুটা হলেও এই ওয়েবসাইটে কভার করা বিভিন্ন বিষয়ের মধ্যে প্রতিফলিত হতে পারে।