"হ্যাশ" হুবহু (এবং অবিকল) কি?


38

আমি শুনেছি "হ্যাশ" শব্দটি বিভিন্ন প্রসঙ্গে (সমস্ত কম্পিউটারের জগতের) বিভিন্ন অর্থের সাথে ব্যবহৃত হচ্ছে। উদাহরণস্বরূপ, পাইথন হার্ড ওয়ে শিখুন বইটিতে অভিধানের অধ্যায়টিতে বলা হয়েছে, "পাইথন তাদের" ডিক্টস বলে। "অন্যান্য ভাষাগুলি তাদের" হ্যাশগুলি বলে? "

শব্দের অন্যান্য সাধারণ ব্যবহার এনক্রিপশনের সাথে সম্পর্কিত। উচ্চ স্তরের প্রোগ্রামিংয়ের মধ্যে লোকেরা "হ্যাশ" শব্দটি একটি নির্দিষ্ট ফাংশন হিসাবে ব্যবহার করে শুনেছি (এবং পড়ুন)।

তাই ঠিক কি এটা?

যে কেউ (সময়ের সাথে এবং যিনি জ্ঞানবান) দয়া করে "হ্যাশ (বা হ্যাশ) এর নিতম্ব-কৃতজ্ঞতা ব্যাখ্যা করতে পারেন?"


8
উইকিপিডিয়ায় হ্যাশ টেবিল এবং ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন সম্পর্কিত বিশদ নিবন্ধ রয়েছে । আপনি কি খুঁজছেন যে এটি মধ্যে না?
ডেভিড রিচার্বি

1
আপনি "হ্যাশ" শব্দটির একাধিক ব্যবহার ইতিমধ্যে তালিকাভুক্ত করেছেন এবং আরও অনেক কিছু রয়েছে। সুতরাং, কীভাবে আপনি "এটি ঠিক কী?" এর উত্তর পেতে কীভাবে প্রত্যাশা করছেন?
রাফায়েল

4
এই অর্থে "হ্যাশস" হ্যাশ টেবিলগুলির সংক্ষিপ্তকরণ, উদাহরণস্বরূপ সারণীগুলি কীগুলির সংগঠনের জন্য হ্যাশ ব্যবহার করে। এটি একধরণের পেট্রোলকে "গ্যাস" বলার মতো - আপনি "গ্যাস" বায়বীয় বা গ্যাসগুলি পেট্রোল জাতীয় বৈশিষ্ট্যযুক্ত হওয়ার আশা করেন না, তাই না? ভাষার সাথে সর্বদা এটি ঘটে - বিশেষত সংক্ষিপ্তকরণ শব্দ-ওভারল্যাপের খুব সাধারণ উত্স।
লুয়ান

1
"এই শব্দের কোনও সংজ্ঞা নেই - হ্যাশ কী তা কেউ জানে না।" - দিয়াবলের অভিধান
jpmc26

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

উত্তর:


44

হ্যাশ ফাংশন সম্পর্কিত উইকিপিডিয়া নিবন্ধটি খুব ভাল, তবে আমি এখানে আমার গ্রহণ করব।


হ্যাশ কি?

"হ্যাশ" সত্যই বিভিন্ন প্রসঙ্গে বিভিন্ন প্রথাগত অর্থ সহ একটি বিস্তৃত শব্দ। আপনার প্রশ্নের একক নিখুঁত উত্তর নেই। আমি সাধারণ অন্তর্নিহিত ধারণাটি ব্যাখ্যা করব এবং শব্দটির বেশ কয়েকটি সাধারণ ব্যবহারের উল্লেখ করব।

একটি "হ্যাশ" হ্যাশ ফাংশন হিসাবে পরিচিত এমন একটি ফাংশন যা ইনপুট অবজেক্ট হিসাবে গ্রহণ করে এবং স্ট্রিং বা সংখ্যার আউটপুট দেয়। ইনপুট অবজেক্টগুলি সাধারণত স্ট্রিং, পূর্ণসংখ্যা বা ব্যবহারকারী সংজ্ঞায়িত স্ট্রাকচারের মতো অন্যান্য অবজেক্টের সমন্বয়ে থাকা বড় আকারের ডেটা জাতীয় ধরণের সদস্য হয়। আউটপুটটি সাধারণত একটি সংখ্যা বা একটি স্ট্রিং। বিশেষ্য "হ্যাশ" প্রায়শই এই আউটপুটকে বোঝায়। "হ্যাশ" ক্রিয়াপদের অর্থ প্রায়শই "হ্যাশ ফাংশন প্রয়োগ করুন"। হ্যাশ ফাংশনটির প্রধান বৈশিষ্ট্যগুলি হ'ল:h

  1. এটি গণনা করা সহজ এবং
  2. আউটপুটগুলি তুলনামূলকভাবে ছোট হওয়া উচিত।

উদাহরণ:

বলুন আমরা 0 থেকে 999,999,999 থেকে শুরু করে 0 এবং 99 এর মধ্যে নম্বরগুলিতে হ্যাশ করতে চাই One একটি সাধারণ হ্যাশ ফাংশন ।h(x)=xmod100

সাধারণ অতিরিক্ত বৈশিষ্ট্য:

ব্যবহারের ক্ষেত্রে উপর নির্ভর করে আমরা হ্যাশ ফাংশনটি অতিরিক্ত সম্পত্তি সন্তুষ্ট করতে চাই want এখানে কিছু সাধারণ অতিরিক্ত বৈশিষ্ট্য রয়েছে:

  1. অভিন্নতা : প্রায়শই আমরা চাই বস্তুর হ্যাশগুলি আলাদা হোক। তবুও আমরা হ্যাশগুলি "স্প্রেড-আউট" হতে চাই। যদি আমি কিছু বস্তুকে 100 বালতিতে হ্যাশ করতে চাই (তবে আমার হ্যাশ ফাংশনের আউটপুট 0-99 থেকে একটি সংখ্যা), তবে আমি সাধারণত আশা করি যে প্রায় 1/100 অবজেক্ট বালতি 0 তে অবতরণ করছে, প্রায় 1/100 জমি বালতি 1, এবং আরও।

  2. ক্রিপ্টোগ্রাফিক সংঘর্ষ প্রতিরোধ : কখনও কখনও এটি আরও দূরে নেওয়া হয়, উদাহরণস্বরূপ, ক্রিপ্টোগ্রাফিতে আমি একটি হ্যাশ ফাংশন চাইতে পারি যে কোনও প্রতিপক্ষের পক্ষে একই আউটপুটে সেই মানচিত্রের দুটি পৃথক ইনপুট সন্ধান করা গণনাগতভাবে কঠিন।

  3. সংক্ষিপ্তসার : আমি প্রায়শই স্থির আকারের আউটপুট বা স্থির সংখ্যক বালতিতে নির্বিচারে-বড় ইনপুটগুলি হ্যাশ করতে চাই।

  4. নির্ধারণ : আমি একটি হ্যাশ ফাংশন চাইতে পারি যার আউটপুট রানের মধ্যে পরিবর্তিত হয় না, অর্থাৎ একই বস্তুর হ্যাশ ফাংশনের আউটপুট সর্বদা একই থাকে। এটি উপরের অভিন্নতার সাথে সাংঘর্ষিক বলে মনে হতে পারে তবে একটি সমাধান হ্যাশ ফাংশনটি এলোমেলোভাবে একবার বেছে নেওয়া এবং এটির রানগুলির মধ্যে পরিবর্তন না করা।


কিছু অ্যাপ্লিকেশন

একটি সাধারণ অ্যাপ্লিকেশন হ্যাশ টেবিলের মতো ডেটা স্ট্রাকচারে রয়েছে যা অভিধান প্রয়োগ করার উপায়। এখানে, আপনি কিছু স্মৃতি বরাদ্দ করেছেন, বলুন, 100 "বালতি"; তারপরে, অভিধানে একটি (কী, মান) জুটি সংরক্ষণ করার জন্য জিজ্ঞাসা করা হলে, আপনি কীটি 0-99 নম্বরে হ্যাশ করুন এবং জোড়াটি স্মৃতিতে সংশ্লিষ্ট বালতিতে সংরক্ষণ করুন। তারপরে, যখন আপনাকে কোনও কী সন্ধান করতে বলা হবে, আপনি একই হ্যাশ ফাংশন সহ 0-99 নম্বরে কীটি হ্যাশ করুন এবং সেই কীটি সেখানে আছে কিনা তা দেখতে সেই বালতিটি পরীক্ষা করে দেখুন। যদি তা হয় তবে আপনি এর মানটি ফিরিয়ে দিন।

নোট করুন যে আপনি অন্যান্য উপায়ে অভিধান প্রয়োগ করতে পারেন যেমন বাইনারি অনুসন্ধান গাছের সাথে (যদি আপনার বিষয়গুলির তুলনা করা যায়)।

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

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


1
চমৎকার ব্যাখ্যা কিন্তু আমি "খুব সম্ভাবনা" এর সাথে একমত নই। দেখুন: programmers.stackexchange.com/questions/49550/... : সংঘর্ষের না ঘটে, এবং কখনও কখনও এটি আশ্চর্যজনক প্রায়ই।
অলিভিয়ার ডুলাক

8
আরও লক্ষ করুন যে সাইটপটোগ্রাফির প্রসঙ্গে "হ্যাশ" শব্দটি খুব দৃ strongly়তার সাথে "একমুখী" ক্রিয়াকে বোঝায় যা সহজেই বাস্তবে পাল্টে যায় না। এটি সহজেই বিপরীত করা যেতে পারে, এটিকে "এনক্রিপশন" বলা হয়। এ কারণেই সিকিউরিটি.এসই-তে থাকা লোকেরা আপনাকে সর্বদা আপনার গ্রাহকদের পাসওয়ার্ডগুলি হ্যাশ করতে বলবে, কখনই তাদের এনক্রিপ্ট করবে না।
Ixrec

4
"ছড়িয়ে পড়ে না" এমন একটি হ্যাশ এখনও একটি হ্যাশ, আপনার আবেদনের জন্য সম্ভবত এটি খুব ভাল নয়।
মনিকা মনিকা

1
অবশ্যই, এই সমস্ত ভাল পয়েন্ট।
usul

10

একটি হ্যাশ ফাংশন এমন একটি ফাংশন যা একটি ইনপুট নেয় এবং স্থির আকারের একটি মান উত্পাদন করে। উদাহরণস্বরূপ আপনার একটি হ্যাশ ফাংশন থাকতে পারে stringHashযা যে stringকোনও দৈর্ঘ্যের একটি গ্রহণ করে এবং একটি 32-বিট পূর্ণসংখ্যার উত্পাদন করে।

সাধারণত এটা বলতে যে একটি আউটপুট সঠিক হ্যাশ ফাংশন একটি হল হ্যাশ (aslo একটি হ্যাশ মান বা একটি হ্যাশ সমষ্টি নামেও পরিচিত)। তবে, কখনও কখনও লোকেরা ফাংশনটিকে হ্যাশ হিসাবে উল্লেখ করে । এটি প্রযুক্তিগতভাবে ভুল, তবে সাধারণত ব্যক্তি হিসাবে হ্যাশ ফাংশন বোঝানো হয় (প্রসঙ্গে) এটি বোঝা যায় বলে সাধারণত উপেক্ষা করা হয় ।

হ্যাশ ফাংশনের সাধারণ ব্যবহার হ্যাশ টেবিলটি প্রয়োগ করা । একটি হ্যাশ টেবিল এমন একটি ডেটা স্ট্রাকচার যা মানগুলি সাধারণত কী হিসাবে উল্লেখ করা অন্য মানগুলির সাথে যুক্ত করে। এটি স্থির আকারের হ্যাশ মান তৈরি করতে কীটিতে একটি হ্যাশ ফাংশন ব্যবহার করে এটি করে যা এটি সঞ্চয় করে ডেটা দ্রুত দেখার জন্য ব্যবহার করতে পারে। এটি কীভাবে হয় সে সম্পর্কে আমি পুরো বিশদে যাব না, তবে এখানে মূল ঘটনাটি হ্যাশ টেবিল বলা হয় কারণ এটি হ্যাশ মানগুলি (হ্যাশ) উত্পাদন করতে হ্যাশ ফাংশনের উপর নির্ভর করে ।

এখানেই কিছু বিভ্রান্তি আসে, কারণ কিছু লোক (আবার কিছুটা ভুলভাবে) একটি হ্যাশ টেবিলকে হ্যাশ হিসাবে উল্লেখ করে । হিসাবে অন্যান্য উত্তর বিবৃত, কখনও কখনও একটি প্রদত্ত ভাষা বাস্তবায়ন হ্যাশ টেবিল বোঝায় হ্যাশ টেবিল হিসেবে হ্যাশ (বিশেষতঃ পার্ল এই আছে, যদিও আমি অন্য ভাষায় যেমন ভাল করতে আশা)। অন্যান্য ভাষাগুলি অভিধান হিসাবে হ্যাশ টেবিলের তাদের প্রয়োগকে বোঝায় । পাইথন এগুলির মধ্যে একটি ভাষা, তবে তারা যে ভাষাতে সংবিধানিত হয়েছে তার কারণে বহু পাইথন ব্যবহারকারী অভিধানটি শব্দটিকে 'ডিক' হিসাবে সংক্ষিপ্ত করে রেখেছিলেন।

সুতরাং হ্যাশ শব্দটির সঠিক ব্যবহার হ্যাশ ফাংশন দ্বারা উত্পাদিত হ্যাশ মানকে বোঝানো হয় , লোকেরা মাঝে মধ্যে হ্যাশ ফাংশন এবং হ্যাশ টেবিলগুলি উল্লেখ করার জন্য অনানুষ্ঠানিকভাবে এই শব্দটি ব্যবহার করে , ফলে বিভ্রান্তি তৈরি হয়।


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

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

@ ডেভিডরিচার্বি এটি আসলে কোনও সমতুল্য উপমা নয়। ভুলটি বিতর্কযোগ্য তবে অনানুষ্ঠানিকতা নয়।
ফারাপ

2

একটি হ্যাশ ফাংশনটি এমন কোনও ফাংশন যেখানে চিত্রটি ডোমেনের চেয়ে ছোট । এই জাতীয় ফাংশনের আউটপুটটিকে f(x)"হ্যাশ অফ x" হিসাবে উল্লেখ করা যেতে পারে ।

কম্পিউটার বিজ্ঞানে আমরা সাধারণত দুটি হ্যাশ ফাংশন প্রয়োগ করি।

প্রথমটি হ্যাশ টেবিলের মতো ডেটা স্ট্রাকচারের জন্য যেখানে আমরা কী ডোমেন (যেমন 32-বিট ইন্টিজার বা স্বেচ্ছাসৈনিক দৈর্ঘ্যের স্ট্রিংগুলি) অ্যারে সূচকগুলিতে ম্যাপ করতে চাই (যেমন 0 এবং 100 এর মধ্যে পূর্ণসংখ্যা)। এখানে লক্ষ্যটি হ'ল ডেটা কাঠামোর কার্যকারিতা সর্বাধিক করা; হ্যাশ ফাংশনের বৈশিষ্ট্য যা সাধারণত কাঙ্ক্ষিত হয় তা হ'ল সরলতা এবং অভিন্ন আউটপুট বিতরণ।

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

দ্বিতীয়টি হ'ল ক্রিপ্টোগ্রাফি : বার্তা প্রমাণীকরণ, পাসওয়ার্ড / স্বাক্ষর যাচাইকরণ ইত্যাদি The ডোমেনটি সাধারণত স্বেচ্ছাচারিত বাইট স্ট্রিং। এখানে আমরা সুরক্ষার সাথে উদ্বিগ্ন - যার অর্থ মাঝেমধ্যে ইচ্ছাকৃত কম কর্মক্ষমতা - যেখানে দরকারী বৈশিষ্ট্যগুলির সংঘর্ষ এবং প্রাক-চিত্র প্রতিরোধের।


এবং এখনও আপনার প্রথম বাক্যে আমার আপত্তি আছে কারণ SHA-512 এর সাথে 32-অক্ষরের পাসওয়ার্ডগুলি হ্যাশ করার সময় ইনপুট স্থানটি আউটপুট স্পেসের চেয়ে ছোট। যখন হ্যাশ ফাংশনগুলি এক সাথে শৃঙ্খলাবদ্ধ হয় তখন ডোমেন এবং ব্যাপ্তি একই হয়; ইনপুট জায়গার আকার অপ্রাসঙ্গিক। ফড়াপের উত্তরের সঠিক সংজ্ঞা রয়েছে: "একটি হ্যাশ ফাংশন একটি নির্দিষ্ট দৈর্ঘ্যের আউটপুট সহ যে কোনও ফাংশন"। এটি হ'ল, আপনার যা প্রয়োজন, অন্য যে কন্ডিশনের কথা আপনি বলছেন সেগুলি থেকেই তা অন্তর্ভুক্ত।
মাইক অংসওয়ার্থ

@ মাইকঅনসওয়ার্থ তবে SHA-512 এর ডোমেনটি স্বেচ্ছাসেবী দৈর্ঘ্যের বাইনারি স্ট্রিং। আমি মনে করি আমি ফ্যারাপসের শব্দ চুরি করতে পারতাম, তবে আমি ওপি-র সুবিধার জন্য শর্তগুলি সুস্পষ্ট করার চেষ্টা করছিলাম। আমি আসলে নিশ্চিত নই যে "নির্ধারিত দৈর্ঘ্যের" প্রয়োজনীয়, না নির্দ্বিধায় সংজ্ঞায়িত।
মনিকা মনিকার

@ ওরেঞ্জডগ ঠিক আছে, তবে আমি SHA-512 এমন একটি ফাংশনের অভ্যন্তরে আবৃত করতে পারি যা ডায়াল MikesHash()12 এর দৈর্ঘ্যের স্ট্রিং গ্রহণ করে এবং সেগুলি SHA-512 এ দেয় এবং আউটপুট ফেরত দেয় returns আমি নিশ্চিত যে MikesHash()এখনও একটি হ্যাশ ফাংশন সংজ্ঞা পূরণ করে। (বাস্তবে আপনি ঠিকই বলেছেন, আমরা যে হ্যাশ ফাংশনগুলি ব্যবহার করি তা স্বেচ্ছাসেবী দৈর্ঘ্যের ইনপুটগুলি গ্রহণ করে তবে আমি মনে করি না যে কিছু হ্যাশ ফাংশন হতে ব্যর্থ হয় না যদি তা হয় না))
মাইক অংসওয়ার্থ

@ মাইকঅনসওয়ার্থ সমানভাবে আমি এটিকে এমনভাবে গুটিয়ে রাখতে পারি যে যদি এমএসবি এক হয় তবে আউটপুট কেটে যাবে বা প্যাড করা হবে। আউটপুট আর স্থির দৈর্ঘ্যের নয়, তবে এটি কি এখনও একটি হ্যাশ ফাংশন?
মনিকা মনিকা

পছন্দ করুন আমার বক্তব্যটি হ'ল একটি হ্যাশ ফাংশন অবশ্যই একটি নির্দিষ্ট-আকারের আউটপুটে মানচিত্র করতে পারে তবে ইনপুট আকারটি অপ্রাসঙ্গিক। আমরা একেবারে অফ-টপিক পেয়েছি। আপনার উত্তরে এতে ভাল জিনিস রয়েছে, কেবল আপনার আনুষ্ঠানিক সংজ্ঞাটি সম্পর্কে সাবধানতা অবলম্বন করুন ;-)
মাইক ওঁসওয়ার্থ

0

দুর্দান্ত প্রশ্ন তুলসী আজিত,

আমি আজ যে কাজ করছি তার জন্য হ্যাশ কী তা সম্পর্কে আমার দৃষ্টিভঙ্গি এখানে।

*

টার্বল যাচাই করতে চেকের যোগফলটি ডাউনলোড পৃষ্ঠায় সম্মত

*

এখানে চিত্র বর্ণনা লিখুন অডিটর টুপি রাখে, মানে উইজার্ডের পোশাক

হ্যাশ হ'ল একটি মান / স্ট্রিং / যাই হোক না কেন / লেবেল এটি ডাউনলোডের উত্স হিসাবে আপনার মেশিনে একই রয়েছে তা নিশ্চিত করুন।


3
এটি হ্যাশের জন্য শুধুমাত্র একটি ব্যবহার। আরও অনেক ব্যবহার রয়েছে।
যুবাল ফিল্মাস

সাইটে স্বাগতম! চেকসাম হিসাবে ক্রিপ্টোগ্রাফিক হ্যাশগুলির ব্যবহার ইতিমধ্যে স্বীকৃত উত্তরের দ্বারা আচ্ছাদন করা হয়েছে, যাতে আপনার স্ক্রিনের অনেক জায়গা নেওয়ার সময় আপনার উত্তরটি নতুন কিছু যুক্ত করে না।
ডেভিড রিচারবি

-1

আমি অন্যরা যা বলে তার সংক্ষিপ্ত সংক্ষিপ্তসার যুক্ত করার চেষ্টা করব।

হ্যাশ ফাংশন

হ্যাশ ফাংশন নামে একটি বিশেষ ধরণের ফাংশন রয়েছে।

"SHA256 হ'ল একটি হ্যাশ ফাংশন যা ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত"

তিনটি প্রধান অ্যাপ্লিকেশন হ'ল হ্যাশ টেবিল, * চেকসাম (হার্ড ড্রাইভ বা এডিএসএল প্রোটোকলগুলিতে ডেটা অখণ্ডতা পরীক্ষাগুলি), * এবং ক্রিপ্টোগ্রাফি (ডিজিটাল স্বাক্ষর এবং সুরক্ষিত পাসওয়ার্ড স্টোরেজ সহ সীমাবদ্ধ নয় তবে ক্রিপ্টোগ্রাফিক প্রমাণীকরণের বিভিন্ন রূপ)।

হ্যাশ টেবিল

হ্যাশ টেবিল দ্রুত অনুসন্ধানের জন্য একটি ডেটা স্ট্রাকচার। এটি হ্যাশ ফাংশন অভ্যন্তরীণভাবে ব্যবহার করে, তাই নাম।

"অনুসন্ধানের অনুরোধগুলি কার্যকর করার জন্য ডেটাবেসগুলি অভ্যন্তরীণভাবে হ্যাশ টেবিল এবং অনুসন্ধান গাছ ব্যবহার করে"

কাটা

  1. একটি অভিধান বিমূর্ত তথ্য প্রকার

"হ্যাশ" পার্ল-এ অন্তর্নির্মিত অভিধানগুলির সরকারী নাম। এগুলি হ্যাশ টেবিলগুলি অভ্যন্তরীণভাবে, সুতরাং নাম। "এই সাবরুটাইন একটি হ্যাশকে তার প্রথম যুক্তি হিসাবে স্বীকার করে"। এই দিনগুলিতে কোনও হ্যাস টেবিলের প্রয়োজন হয় না, কোনও এসোসিয়েটিভ অ্যারের জন্য ব্যবহার করা যেতে পারে।

  1. কিছু ইনপুটটিতে একটি হ্যাশ ফাংশন প্রয়োগের ফলাফল

".Iso চিত্রগুলির MD5 হ্যাশগুলি ডাউনলোডের পরে তাদের অখণ্ডতা যাচাই করার জন্য সরবরাহ করা হয়"।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.