ચેકસમ કેલ્ક્યુલેટર
તકનિકી વિગતો
ચેકસમ કેલ્ક્યુલેટર કેવી રીતે કામ કરે છે
આ ટૂલ શું કરે છે
ચેકસમ કેલ્ક્યુલેટર ડેટા ઇન્ટેગ્રિટી વેરિફિકેશન માટે નોન-ક્રિપ્ટોગ્રાફિક ચેકસમ્સ ગણે છે, જેમાં CRC-16, CRC-24, CRC-32, Adler-32, અને Luhn એલ્ગોરિધમ્સનો સપોર્ટ છે. તે પ્લેઇન ટેક્સ્ટ અને રૉ હેક્સાડેસિમલ બાઇટ ઇનપુટ બંને સ્વીકારે છે, જેથી તમે નેટવર્ક પ્રોટોકોલ્સ, ફાઇલ ફોર્મેટ્સ, અને ઓળખ નંબરો સામે ચેકસમ્સ ચકાસી શકો. પરિણામો સ્પેસિફિકેશન દસ્તાવેજો સાથે સરળ સરખામણી માટે હેક્સાડેસિમલ અને દશાંશમાં દર્શાવવામાં આવે છે.
ડેવલપર્સ માટેના સામાન્ય ઉપયોગ કેસિસ
ડેવલપર્સ નેટવર્ક પ્રોટોકોલ્સ ડિબગ કરતી વખતે CRC કેલ્ક્યુલેટર્સનો ઉપયોગ કરે છે (Ethernet CRC-32 વાપરે છે, PPP CRC-16 વાપરે છે), ZIP અને PNG જેવા આર્કાઇવ ફોર્મેટ્સમાં ફાઇલ ઇન્ટેગ્રિટી ચકાસવા માટે, અથવા Luhn (ક્રેડિટ કાર્ડ્સ, IMEI) સાથે ઓળખ નંબરો વેલિડેટ કરવા માટે. એમ્બેડેડ એન્જિનિયર્સ આ ટૂલનો ઉપયોગ ફર્મવેર ફ્લેશ કરતા પહેલાં અથવા સીરિયલ કમ્યુનિકેશન ફ્રેમ્સ ટેસ્ટ કરતા પહેલાં CRC ઇમ્પ્લિમેન્ટેશન્સ અપેક્ષિત આઉટપુટ સાથે મેળ ખાતા છે કે નહીં તે ચકાસવા માટે કરે છે.
ડેટા ફોર્મેટ્સ, પ્રકારો, અથવા વેરિઅન્ટ્સ
CRC-16 (CCITT) 16-બિટ ચેકસમ આપે છે જે XMODEM, Bluetooth, અને USB માં વપરાય છે. CRC-32 (ISO 3720) 32-બિટ મૂલ્ય આપે છે જે Ethernet, ZIP, અને PNG માં વપરાય છે. Adler-32 zlib માં વપરાતો CRC-32 નો ઝડપી વિકલ્પ છે. Luhn mod-10 CRC નથી પરંતુ ચેક-ડિજિટ એલ્ગોરિધમ છે જે ક્રેડિટ કાર્ડ નંબરો, ISIN કોડ્સ, અને IMEI નંબરો વેલિડેટ કરવા માટે વપરાય છે. હેક્સ ઇનપુટ મોડ તમને પ્રોટોકોલ-લેવલ વેરિફિકેશન માટે રૉ બાઇટ સિક્વન્સિસ દાખલ કરવાની મંજૂરી આપે છે.
સામાન્ય ખામીઓ અને એજ કેસિસ
CRC એલ્ગોરિધમ્સમાં ઘણા પોલિનોમિયલ અને ઇનિશિયલાઇઝેશન વેરિઅન્ટ્સ હોય છે — CRC-16-CCITT, CRC-16-IBM થી અલગ છે, તેથી હંમેશા ખાતરી કરો કે પ્રોટોકોલ કયો વેરિઅન્ટ અપેક્ષે છે. ચેકસમ્સ અકસ્માતે થયેલ કરપ્શન શોધે છે પરંતુ ઇરાદાપૂર્વકની છેડછાડ સામે શૂન્ય સુરક્ષા આપે છે; તે હેતુ માટે ક્રિપ્ટોગ્રાફિક હેશેસનો ઉપયોગ કરો. હેક્સ ઇનપુટ મોડ વાપરતી વખતે, ખાતરી કરો કે બાઇટ્સ સેપરેટર્સ વિના અથવા સઘન ફોર્મેટિંગ સાથે દાખલ કરવામાં આવે છે, કારણ કે એક વધારાનો નિબલ તમામ અનુગામી બાઇટ્સને શિફ્ટ કરી દેશે.
કોડની સામે આ ટૂલ ક્યારે વાપરવું
પ્રોટોકોલ ફ્રેમ્સ ડિબગ કરતી વખતે ઝડપી સ્પોટ-ચેક માટે, લુહ્ન વડે એક જ ક્રેડિટ કાર્ડ નંબર માન્ય કરવા માટે, અથવા સ્પેક સામે CRC આઉટપુટ સરખાવવા માટે આ બ્રાઉઝર ટૂલ વાપરો. મોટા પાયે ફાઇલ ચકાસણી, CI પાઇપલાઇન્સ, અથવા એમ્બેડેડ ફર્મવેર બિલ્ડ્સ માટે, ભાષા-નેટિવ CRC લાઇબ્રેરીઓ (Python's zlib.crc32, Node's Buffer-based crc packages) વાપરો, જે સ્ટ્રીમ્સ પ્રોસેસ કરી શકે અને ઓટોમેટેડ વર્કફ્લોઝમાં એકીકૃત થઈ શકે.