উভয় ফাইলে সিআরসি (বা, আরও ভাল, sha1sums) গণনা করার জন্য যাইহোক, প্রতি বাইট পড়ার প্রয়োজন। আপনি যদি বাই-বাই-বাইট তুলনা করেন, তবে কোনও অমিল দেখা মাত্রই আপনি প্রস্থান করতে পারেন - এবং একই চেকসামটি ঘটতে দেখা যায় এমন দুটি পৃথক ফাইল সম্পর্কে আপনাকে চিন্তিত হওয়ার দরকার নেই (যদিও এটি sha1sum এর সম্ভাব্য সম্ভাবনা নয়) । সুতরাং আপনি যদি স্থানীয়ভাবে তুলনাটি করছেন, একটি বাইট বাই বাই তুলনা চেকসাম তুলনা হিসাবে কমপক্ষে দ্রুত হবে (যদি না আপনি ইতিমধ্যে চেকসামগুলি গণনা করেছেন)।
অন্যদিকে, আপনি যখন একই মেশিনে নেই এমন ফাইলগুলির সাথে তুলনা করছেন তখন চেকসাম তুলনা কার্যকর হয়; চেকসামগুলি স্থানীয়ভাবে গণনা করা যেতে পারে এবং আপনাকে নেটওয়ার্কের মাধ্যমে সম্পূর্ণ সামগ্রী স্থানান্তর করতে হবে না।
হাইব্রিড পদ্ধতিরও সম্ভব। উদাহরণস্বরূপ, আপনি একবারে দুটি ফাইলের জন্য চেকসামগুলি তুলনা করতে এবং তুলনা করতে পারেন, যা পুরো ফাইলটি ( যদি তারা পৃথক হয়) পড়া এড়াতে পারে এবং পুরো ফাইলটি নেটওয়ার্ক জুড়ে ট্রান্সমিশন এড়িয়ে চলে। Rsync প্রোটোকল ভালো কিছু নেই।
নোট করুন যে একটি সাধারণ সিআরসি ব্যবহার করা আপনাকে সংঘর্ষের ন্যায্য সুযোগ দেয়, যেমন ডেভ রাজার তার উত্তরে উল্লেখ করেছেন। কমপক্ষে sha1sum বা আরও সাম্প্রতিক কিছু ব্যবহার করুন । (আপনার নিজের হ্যাশিং অ্যালগরিদম উদ্ভাবনের চেষ্টা করবেন না; sha1sum বিকাশকারী লোকেরা আমাদের উভয়ের চেয়ে এই স্টাফ সম্পর্কে আরও বেশি জানেন know)
সংঘর্ষের সম্ভাবনা হিসাবে, যদি আপনি sha1sum এর মতো একটি শালীন হ্যাশ ব্যবহার করেন তবে আপনাকে এটি সম্পর্কে খুব বেশি চিন্তা করতে হবে না, যদি না কেউ ইচ্ছাকৃতভাবে এবং ব্যয়বহুলভাবে ফাইল তৈরি করে যাঁর sha1sums সংঘর্ষে লিপ্ত হয় ( যখন আমি প্রথম এটি লিখেছিলাম তখন এ জাতীয় সংঘর্ষ উত্পন্ন করা সম্ভব ছিল না) , তবে অগ্রগতি হচ্ছে )। স্কট চকনের "প্রো গিট" , বিভাগ 6.1 এর উদ্ধৃতি :
SHA-1 সংঘর্ষ পেতে এটি কী গ্রহণ করবে তা সম্পর্কে আপনাকে ধারণা দেওয়ার জন্য এখানে একটি উদাহরণ রয়েছে। পৃথিবীর সমস্ত .5.৫ বিলিয়ন মানুষ যদি প্রোগ্রামিং করে থাকেন এবং প্রতি সেকেন্ডে, প্রত্যেকে এমন একটি কোড তৈরি করে যা পুরো লিনাক্স কার্নেল ইতিহাসের (1 মিলিয়ন গিট অবজেক্ট) সমতুল্য ছিল এবং এটিকে একটি বিশাল গিট রিপোজিটরিতে ঠেলেছিল, তবে এটির জন্য 5 বছর সময় লাগবে সেই সংগ্রহস্থলে একক SHA-1 অবজেক্টের সংঘর্ষের 50% সম্ভাবনা থাকার জন্য পর্যাপ্ত অবজেক্ট রয়েছে। একটি উচ্চ সম্ভাবনা বিদ্যমান যে আপনার প্রোগ্রামিং টিমের প্রতিটি সদস্য একই রাতে সম্পর্কযুক্ত ঘটনায় নেকড়েদের দ্বারা আক্রমণ ও হত্যা করা হবে।
সারসংক্ষেপ :
স্থানীয় বাইরের তুলনা বাই বাই বাই তুলনা ভাল। sha1sum দূরবর্তী তুলনায় ভাল, এবং মিথ্যা ধনাত্মক কোন উল্লেখযোগ্য সুযোগ উপস্থাপন করে।