হ্যাশ কোড এবং চেকসাম - পার্থক্য কী?


115

আমার বোধগম্যতা হ'ল একটি হ্যাশ কোড এবং চেকসাম একই জিনিস - একটি সংখ্যার মান, যা কোনও ব্লকের ডেটা ব্লকের জন্য গণনা করা হয়, এটি তুলনামূলকভাবে অনন্য।

অর্থাত্ একই সংখ্যাসূচক হ্যাশ / চেকসাম মান প্রদানের দুটি ব্লকের ডেটা প্রাপ্তির সম্ভাবনা যথেষ্ট কম যে এটিকে প্রয়োগের উদ্দেশ্যে অগ্রাহ্য করা যায়।

তাহলে কি আমাদের একই জিনিসটির জন্য দুটি শব্দ রয়েছে বা হ্যাশ কোড এবং চেকসামের মধ্যে গুরুত্বপূর্ণ পার্থক্য রয়েছে?


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

3
@ ড্যানস্টাহলকে - না, নীচের উত্তরগুলি যা বলে তা তাই নয়। হ্যাঁ, তারা উভয়ই অল্প সংখ্যায় ইনপুট হ্রাস করে। তবে এটি করার অনেকগুলি উপায় রয়েছে, কীভাবে আলগোরিদিম ব্যবহার করবেন তা কীভাবে চয়ন করবেন? এটা আপনার লক্ষ্য উপর নির্ভর করে। শীর্ষ দুটি উত্তরের সংক্ষিপ্তসার হিসাবে: একটি চেকসামের লক্ষ্য " সর্বাধিক সাধারণ ত্রুটিগুলি সনাক্ত করা "। আপনার দৃশ্যে যে কোনও ত্রুটি "সর্বাধিক সাধারণ", তার জন্য একটি পৃথক চেকসাম দেয় এমন একটি অ্যালগোরিদম চয়ন করুন। যদি আপনি এক বা দুটি বিট টগল হওয়ার বিষয়ে উদ্বিগ্ন হন তবে আপনি একটি অ্যালগরিদম চয়ন করতে পারেন যা সেই নির্দিষ্ট ত্রুটির সনাক্তকরণের গ্যারান্টি দেয় ! এটি একটি খুব নির্দিষ্ট বাণিজ্য বন্ধ।
নির্মাতা স্টিভ 5

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

উত্তর:


72

আমি বলব যে একটি চেকসাম অগত্যা একটি হ্যাশকোড । তবে, সমস্ত হ্যাশকোডগুলি ভাল চেকসাম তৈরি করে না।

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

একটি হ্যাশকোড সহজভাবে একটি গাণিতিক ফাংশন বর্ণনা করে যা কিছু মানকে ডেটা ম্যাপ করে। ডেটা স্ট্রাকচারগুলিতে সূচকের মাধ্যম হিসাবে ব্যবহৃত হয় (যেমন একটি হ্যাশ টেবিল), কম সংঘর্ষের সম্ভাবনা বাঞ্ছনীয়।


6
সম্ভবত একটি অন্য হিসাবে ব্যবহার করা যেতে পারে, কিন্তু তাদের বিভিন্ন ডিজাইন লক্ষ্য রয়েছে তা বিবেচনা করে এটি কেবল সমস্যাটিকে বিভ্রান্ত করে।
উইম কোয়েন

8
@ গম্বো: না, প্রতিটি হ্যাশকোডই চেকসাম নয়। নীচে এমসাল্টারগুলির স্ট্রিং উদাহরণ দেখুন।
মার্চএইচ

41

তাদের প্রত্যেকের পিছনে একটি আলাদা উদ্দেশ্য রয়েছে:

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

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


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

1
আমার কাছে, আপনার উত্তরের মূল বাক্যাংশটি হ'ল চেকসামটি সর্বাধিক সাধারণ ত্রুটিগুলি সনাক্ত করার জন্য তৈরি করা হয়েছে । হ্যাঁ, এটা। এটি হ্যাশ অ্যালগরিদম যা সম্ভবত ডেটাগুলির দূষিত হওয়ার জন্য বিভিন্ন মান অর্জন করতে বেছে নেওয়া হয়েছে । এটি একটি সুনির্দিষ্ট উদ্দেশ্য, এবং নির্দিষ্ট অ্যালগরিদমগুলিতে নিয়ে যায়, যা এর জন্য অনুকূল করে তোলে - যেগুলির সম্পর্কে উদ্বিগ্ন পার্থক্যগুলির ধরণের উপর নির্ভর করে।
নির্মাতা স্টিভ

22

আসলে কিছু পার্থক্য রয়েছে:

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

1
আমি মনে করি না চেকসামগুলি বিভিন্ন ইনপুটগুলির জন্য আলাদা হওয়ার কোনও সুবিধা রয়েছে। তারা কেবল হ্যাশিংয়ের জন্য নয়, সততা যাচাইয়ের জন্য।
ব্যবহারকারী541686

1
@ মেহরদাদ: সুতরাং কীভাবে আপনি বিভিন্ন ইনপুটগুলির জন্য আলাদা ফলাফল না পেয়ে সততা যাচাইয়ের প্রস্তাব দিচ্ছেন?
মাইকেল বর্গওয়ার্ট

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

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

@ মেহরদাদ - প্রথমে এটি আমার কাছে কোনও ধারণা রাখেনি। একটি চেকসাম হয়, তাহলে না সম্ভব চেকসাম মান উপর একটি ভাল ডিস্ট্রিবিউশন আছে, তার মানে কিছু চেকসাম মান যা (অন্যান্য চেকসাম চেয়ে) আরো অনেক ইনপুট মান ফিরে হয়। কিন্তু, যে চেকসামের উপযোগিতা কমিয়ে দেয়? [এতে বিভ্রান্তি বেড়েছে যে বিশৃঙ্খল ডেটা একই ফলাফলটি ফিরিয়ে দেবে, তাই না?] হুম, আমি ভুল, আপনি ঠিক বলেছেন: চেকসাম কেবল সম্ভাব্য বিশৃঙ্খলা সনাক্তকরণে ভাল হতে হবে । এর জন্য সমস্ত মানগুলির তুলনায় এমনকি বিতরণের প্রয়োজন পড়বে না।
স্টিভ

10

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

একটি স্পষ্ট উদাহরণ স্ট্রিং হয়। স্ট্রিংয়ের জন্য একটি চেকসামে প্রতিটি বিট অন্তর্ভুক্ত হওয়া উচিত এবং বিষয়গুলি অর্ডার করা উচিত। অন্যদিকে একটি হ্যাশকোড প্রায়শই সীমিত দৈর্ঘ্যের উপসর্গের চেকসাম হিসাবে প্রয়োগ করা যেতে পারে। এর অর্থ হ'ল "আআআআআআআআআআবা" "আআআআআআআআআআবি" এর মতোই হ্যাশ করবে তবে হ্যাশ অ্যালগরিদমগুলি এ জাতীয় সংঘর্ষকে মোকাবেলা করতে পারে।


এই উত্তরটিই আমার জন্য ঘণ্টা বাজায়। সুতরাং ডেটা অখণ্ডতা হ্যাশ ফোকাস নয়।
ট্রুথহোল্ডার

9

উইকিপিডিয়া এটি ভালভাবে রাখে:

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


28
এটি পড়ার পরেও আমি ভাবছি পার্থক্য কী।
kirk.burleson

@ kirk.burleson - আমি যে তারা একই বলতেন নীতি , কিন্তু বাস্তবে একজন সবসময় তোলে tradeoffs । বিভিন্ন পরিস্থিতিতে, বিভিন্ন ট্রেডঅফ প্রয়োগ হয়, তাই বিভিন্ন পদ্ধতির ব্যবহার করা হয়। দুটি ভিন্ন শব্দ থাকার সত্যই সমর্থনযোগ্যতা নয়, কেবল এই বলে যে আপনি যদি চেকসামের জন্য ভাল কৌশলগুলি অনুসন্ধান করেন তবে আপনি হ্যাশ কোডগুলি অনুসন্ধান করার চেয়ে আলাদা আলাদা অ্যালগোরিদমের সন্ধান করতে পারেন।
নির্মাতা স্টিভ

5

একটি চেকসাম দুর্ঘটনাজনিত পরিবর্তন থেকে রক্ষা করে।

একটি ক্রিপ্টোগ্রাফিক হ্যাশ খুব উত্সাহিত আক্রমণকারী থেকে রক্ষা করে।

আপনি যখন তারে বিটগুলি প্রেরণ করেন, দুর্ঘটনাক্রমে এমনটি ঘটতে পারে যে কিছু বিটগুলি উল্টানো হয়, বা মুছে ফেলা হয়, বা .োকানো হয়। প্রাপককে এরকম দুর্ঘটনা সনাক্ত করতে (বা কখনও কখনও সঠিক করা) অনুমতি দেওয়ার জন্য, প্রেরক একটি চেকসাম ব্যবহার করেন।

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


3
"ক্রিপ্টোগ্রাফিক হ্যাশ" "হ্যাশ" এবং "চেকসাম" এর মধ্যে বিভ্রান্তি বাড়িয়ে তোলে। "ক্রিপ্টোগ্রাফিক চেকসাম" আরও ভাল কারণ এটি তা করে না।
মার্চএইচ

5

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

উত্স: CompTIA Network সুরক্ষা + নেটওয়ার্ক সুরক্ষা মৌলিক নির্দেশিকা - পঞ্চম সংস্করণ - মার্ক সিম্প্পা-পৃষ্ঠা 191


4

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


4

হ্যাশ-কোড এবং চেকসাম ফাংশনের মধ্যে পার্থক্য হ'ল, সেগুলি বিভিন্ন উদ্দেশ্যে ডিজাইন করা হচ্ছে।

  • ইনপুটটিতে কিছু পরিবর্তন হয়েছে কিনা তা জানতে একটি চেকসাম ব্যবহার করা হয়।

  • একটি হ্যাশ-কোড খুঁজে বের করতে ব্যবহার করা হয় যদি ইনপুট কিছু পরিবর্তন করা হয়েছে এবং সম্ভব হিসাবে পৃথক হ্যাশ-কোড মানের মধ্যে অনেক "দূরত্ব" হিসাবে আছে।

    এছাড়াও, এই নিয়মের বিরোধিতা করে হ্যাশ-ফাংশনের আরও প্রয়োজনীয়তা থাকতে পারে যেমন হ্যাশ-কোড মানগুলির গাছ / গুচ্ছ / বালতি গঠনের সক্ষমতা এর মতো।

    এবং যদি আপনি কিছু ভাগ করে নেওয়া প্রাথমিক র‌্যান্ডমাইজেশন যোগ করেন তবে আপনি আধুনিক এনক্রিপশন / কী-এক্সচেঞ্জগুলির ধারণাটি পেতে পারেন।


সম্ভাবনা সম্পর্কে:

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

  • যদি আপনার র্যান্ডম ইনপুট ডেটার ঠিক 1 বিট পরিবর্তিত হয় তবে আপনি ইনপুট ডেটা যত বড় তা বিবেচনা না করেই 100% সময় সনাক্ত করতে সক্ষম হবেন।

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

    ...

এর অর্থ, আপনার ইনপুট ডেটাতে বিটের সংখ্যা যদি আপনার হ্যাশ / চেকসাম মানের বিটের সংখ্যার চেয়ে একাধিক গুণ বেশি হয়, তবে বিভিন্ন ইনপুট মানগুলির জন্য বিভিন্ন হ্যাশ / চেকসাম মানগুলি পাওয়ার সম্ভাবনা হ্রাস পাবে এবং এটি একটি নয় ধ্রুবক


2

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


1
যেহেতু চেকসামগুলি বিপরীত করা কঠিন হয়ে ওঠে না, এটি পরামর্শ দেয় যে ইচ্ছাকৃতভাবে কোনও কিছু পরিবর্তন করা হয়েছে কিনা তা যাচাই করার জন্য তারা ভাল হবে না।
benblasdell

0

রেডিস ক্লাস্টার ডেটা শর্ডিংয়ে এটি hash slotকোন নোডে চলে যায় তা সিদ্ধান্ত নিতে এটি ব্যবহার করে। উদাহরণস্বরূপ নীচের মডুলো অপারেশন ধরুন:

123 % 9 = 6
122 % 9 = 5
141 % 9 = 6

6বিভিন্নমুখী ইনপুট জুড়ে দুইবার আসে আপ। হ্যাশটির উদ্দেশ্যটি কেবল কোনও আউটপুট মানের জন্য একটি ইনপুট মান ম্যাপ করা এবং স্বতন্ত্রতা চুক্তির অংশ নয়। সুতরাং দুটি ভিন্ন ইনপুট যা একই আউটপুট উত্পাদন করে তা হ্যাশগুলির বিশ্বে জরিমানা।

অন্যদিকে, একটি চেকসাম অবশ্যই ইনপুটটির এক বিট পরিবর্তিত হলেও আউটপুট পৃথক করতে হবে কারণ এর উদ্দেশ্য মানচিত্র নয়, ডেটা দুর্নীতি সনাক্তকরণ। সুতরাং দুটি আলাদা ইনপুট যা একই আউটপুট উত্পাদন করে তা চেকসামে গ্রহণযোগ্য নয়।


-4

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

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

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