CRC হলো একটি ছোট সংখ্যা, যা কোনো ফাইলকে কোনো আর্কাইভে যোগ করার মুহূর্তে সেই ফাইলের কনটেন্ট থেকে হিসাব করা হয়। এটি ফিঙ্গারপ্রিন্টের মতো কাজ করে, যাতে পরে যাচাই করা যায় যে ফাইলটি আর্কাইভ থেকে বের হওয়ার সময় ঠিক আগের মতোই আছে কি না। CRC মানে cyclic redundancy check।
এটি কোথা থেকে আসে এবং কোন ফাইলগুলিতে এটি থাকে
আর্কাইভগুলো এটিকে সংরক্ষণ করে। অর্থাৎ ZIP ফাইল এবং ZIP এর উপর ভিত্তি করে তৈরি অনেক ফরম্যাট, যেমন .docx, .xlsx, .epub, .jar এবং .apk; অন্যদিকে RAR, 7z এবং অন্যান্য ফরম্যাট তাদের নিজস্ব checksum সংরক্ষণ করে। কোনো কোনো রিপোর্ট .epub ফাইলের জন্য এটি দেখাতে নাও পারে, যদিও ফাইলটি নিজে এই মানটি ধারণ করে।
কমপ্রেশন প্রোগ্রামটি মূল, আনকমপ্রেসড কনটেন্টের উপর ভিত্তি করে এই মান হিসাব করে এবং তা সেই এন্ট্রির সঙ্গে সংরক্ষণ করে, ফলে একটি আর্কাইভের প্রতিটি সদস্যের নিজস্ব CRC থাকে। আপনি এটি বেছে নিতে বা টাইপ করতে পারবেন না, এবং এটি আপনার বা আপনার কম্পিউটার সম্পর্কিত কোনো তথ্য নয়। এটি পুরোপুরি ফাইলের বাইটগুলো থেকেই নির্ণয় করা হয়।
এটি সংরক্ষণ করার উদ্দেশ্য হলো পরবর্তীতে তুলনা করা। যখন আর্কাইভটি আনপ্যাক করা হয়, প্রোগ্রামটি সদ্য এক্সট্র্যাক্ট করা ডেটা থেকে আবার CRC হিসাব করে এবং দুটি মানের তুলনা করে। যদি তারা আলাদা হয়, তাহলে WinZip, 7-Zip বা unzip-এ পরিচিত CRC ত্রুটি বার্তা দেখা যায়, যার মানে এক্সট্র্যাক্ট হওয়া ফাইলটি মূলত যোগ করা ফাইলের সঙ্গে মেলে না। এটি প্রক্রিয়ার কোথাও ক্ষতির দিকে ইঙ্গিত করে: আটকে যাওয়া ডাউনলোড, বিকল ডিস্ক, বা অসম্পূর্ণ কপি। একটি মাত্র ক্ষতিগ্রস্ত সদস্যই এই বার্তা দেখানোর জন্য যথেষ্ট, এমনকি আর্কাইভের বাকি সব কিছু ঠিক থাকলেও।
মানটি দেখতে কেমন
ZIP একটি ভ্যারিয়েন্ট ব্যবহার করে, CRC-32, যা 32-বিটের একটি সংখ্যা তৈরি করে। এটি সাধারণত আটটি হেক্সাডেসিমাল ডিজিট হিসেবে দেখানো হয়, উদাহরণস্বরূপ 0x8f3d2b1c, এবং কিছু অ্যাপ একই মানকে একটি বড় দশমিক সংখ্যার আকারেও দেখায়। এর কোনো একক নেই, এবং এমন কোনো স্কেলও নেই যেখানে কোনো মান অন্য মানের থেকে ভালো বা খারাপ। একটি খালি ফাইল, এবং কোনো ডেটা না থাকা ফোল্ডার এন্ট্রি, 0x00000000 দেখায়।
এটি কেন গুরুত্বপূর্ণ
এটি একটি ইন্টেগ্রিটি ফিল্ড, এবং কনটেন্ট স্টোরেজ ও ট্রান্সফারের পর বেঁচে আছে কি না, তার জন্য আর্কাইভের নিজস্ব প্রমাণ। মেটাডাটা রিপোর্টে CRC দেখলে এর মানে এই নয় যে আপনার আর্কাইভে কোনো সমস্যা আছে। এটি কেবল সেই মান, যা আর্কাইভ তৈরির সময় রেকর্ড করা হয়েছিল; আসল পরীক্ষা হয় যখন আপনি এক্সট্র্যাক্ট করেন, দেখার সময় নয়।
এর একটি সুবিধাজনক পার্শ্ব ব্যবহারও আছে। একদম একই কনটেন্ট সব সময় একই CRC তৈরি করে, তাই একই CRC এবং একই আকারের দুটি এন্ট্রি প্রায় নিশ্চিতভাবেই একই ফাইল, যা বড় কোনো আর্কাইভের ভেতরের ডুপ্লিকেট দ্রুত চিহ্নিত করার একটি উপায়।
যা এটি নয়, তা হলো নিরাপত্তা ফিচার। CRC তৈরি করা হয়েছে অনিচ্ছাকৃত ক্ষতি ধরার জন্য, এবং এটি এতটাই ছোট যে ইচ্ছাকৃতভাবে একই মান তৈরি করা সম্ভব। তাই CRC মিললেই প্রমাণ হয় না যে কেউ ফাইলটি পরিবর্তন করেনি। সেই কাজের জন্য SHA-256-এর মতো ক্রিপ্টোগ্রাফিক হ্যাশ আছে। যেহেতু এই মান কনটেন্ট থেকে নির্ণীত হয়, তাই এটি ব্যবহার করে বোঝা যায় দুইটি আলাদা আর্কাইভে একই ফাইল আছে কি না, যা কখনো কখনো উপকারী এবং কখনো কখনো মনে রাখার মতো, বিশেষ করে কোনো আর্কাইভ হস্তান্তর করার আগে।