CRC-32C ହାସ୍ କୋଡ୍ କାଲକୁଲେଟର
ପ୍ରକାଶିତ: 6:47:43 PM UTC ଠାରେ ଫେବୃଆରୀ 17, 2025
ଶେଷ ଥର ପାଇଁ ଅଦ୍ୟତନ ହୋଇଥିଲା: 11:37:44 AM UTC ଠାରେ ଜାନୁଆରୀ 12, 2026
CRC-32C Hash Code Calculator
ସାଇକ୍ଲିକ୍ ରିଡଣ୍ଡାନ୍ସି ଚେକ୍ (CRC) ହେଉଛି ଏକ ତ୍ରୁଟି-ନିର୍ଣ୍ଣୟକାରୀ କୋଡ୍ ଯାହା ସାଧାରଣତଃ କଞ୍ଚା ତଥ୍ୟରେ ଆକସ୍ମିକ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ଚିହ୍ନଟ କରିବା ପାଇଁ ବ୍ୟବହୃତ ହୁଏ। ଯଦିଓ ବୈଷୟିକ ଭାବରେ ଏହା ଏକ କ୍ରିପ୍ଟୋଗ୍ରାଫିକ୍ ହାସ୍ ଫଙ୍କସନ୍ ନୁହେଁ, CRC-32 କୁ ପ୍ରାୟତଃ ଏକ ହାସ୍ ଭାବରେ କୁହାଯାଏ କାରଣ ଏହା ଚଳକ-ଲମ୍ବ ଇନପୁଟ୍ ରୁ ଏକ ସ୍ଥିର-ଆକାର ଆଉଟପୁଟ୍ (32 ବିଟ୍) ଉତ୍ପାଦନ କରିବାର କ୍ଷମତା ରଖେ। ଏହି ପୃଷ୍ଠାରେ ଉପସ୍ଥାପିତ ସଂସ୍କରଣ ହେଉଛି CRC-32C ପ୍ରକାର, ଯାହା ଏକ ନୂତନ, "ସ୍ମାର୍ଟର" (ଉତ୍ତମ ତ୍ରୁଟି ଚିହ୍ନଟ) ସଂସ୍କରଣ ଯାହା ପ୍ରାୟତଃ ଆଧୁନିକ CPUs (SSE 4.2 ମାଧ୍ୟମରେ) ରେ ହାର୍ଡୱେର୍ ତ୍ୱରାନ୍ୱିତ ହୋଇଥାଏ।
ସମ୍ପୂର୍ଣ୍ଣ ପ୍ରକାଶ: ମୁଁ ଏହି ପୃଷ୍ଠାରେ ବ୍ୟବହୃତ ହାସ୍ ଫଙ୍କସନ୍ର ନିର୍ଦ୍ଦିଷ୍ଟ କାର୍ଯ୍ୟାନ୍ୱୟନ ଲେଖିନାହିଁ। ଏହା PHP ପ୍ରୋଗ୍ରାମିଂ ଭାଷା ସହିତ ଅନ୍ତର୍ଭୁକ୍ତ ଏକ ମାନକ ଫଙ୍କସନ୍। ସୁବିଧା ପାଇଁ ଏଠାରେ ସାର୍ବଜନୀନ ଭାବରେ ଉପଲବ୍ଧ କରିବା ପାଇଁ ମୁଁ କେବଳ ୱେବ୍ ଇଣ୍ଟରଫେସ୍ ତିଆରି କରିଛି।
CRC-32C ହାସ୍ ଆଲଗୋରିଦମ୍ ବିଷୟରେ
ମୁଁ ଜଣେ ଗଣିତଜ୍ଞ ନୁହେଁ, କିନ୍ତୁ ମୁଁ ଏକ ସରଳ ସାଦୃଶ୍ୟ ସହିତ ଏହି ହାସ୍ ଫଙ୍କସନ୍କୁ ବ୍ୟାଖ୍ୟା କରିବାକୁ ଚେଷ୍ଟା କରିବି। ଅନେକ କ୍ରିପ୍ଟୋଗ୍ରାଫିକ୍ ହାସ୍ ଫଙ୍କସନ୍ ପରି, ଏହା ଏକ ବିଶେଷ ଜଟିଳ ଆଲଗୋରିଦମ୍ ନୁହେଁ, ତେଣୁ ଏହା ହୁଏତ ଠିକ୍ ହେବ ;-)
କଳ୍ପନା କରନ୍ତୁ ଯେ ଆପଣ ଡାକରେ ଏକ ଚିଠି ପଠାଉଛନ୍ତି, କିନ୍ତୁ ଆପଣ ଚିନ୍ତିତ ଯେ ଏହା ପ୍ରାପ୍ତକର୍ତ୍ତାଙ୍କ ପାଖରେ ପହଞ୍ଚିବା ପୂର୍ବରୁ ନଷ୍ଟ ହୋଇଯାଇପାରେ। ଚିଠିର ବିଷୟବସ୍ତୁ ଉପରେ ଆଧାର କରି, ଆପଣ ଏକ CRC-32 ଚେକସମ୍ ଗଣନା କରନ୍ତି ଏବଂ ଲଫାପାରେ ତାହା ଲେଖନ୍ତି। ଯେତେବେଳେ ପ୍ରାପ୍ତକର୍ତ୍ତା ଚିଠି ପାଆନ୍ତି, ସେ ଚେକସମ୍ ଗଣନା ମଧ୍ୟ କରିପାରିବେ ଏବଂ ଦେଖିପାରିବେ ଯେ ଏହା ଆପଣ ଲେଖିଥିବା କଥା ସହିତ ମେଳ ଖାଉଛି କି ନାହିଁ। ଯଦି ଏହା ହୁଏ, ତେବେ ଚିଠିଟି ନଷ୍ଟ ହୋଇନାହିଁ କିମ୍ବା ରାସ୍ତାରେ ପରିବର୍ତ୍ତନ ହୋଇନାହିଁ।
CRC-32 ଏହା କରିବାର ଉପାୟ ହେଉଛି ଏକ ଚାରି ପଦକ୍ଷେପ ପ୍ରକ୍ରିୟା:
ପଦକ୍ଷେପ ୧: କିଛି ଅତିରିକ୍ତ ସ୍ଥାନ ଯୋଡନ୍ତୁ (ପ୍ୟାଡିଂ)
- CRC ବାର୍ତ୍ତାର ଶେଷରେ ଟିକିଏ ଅତିରିକ୍ତ ସ୍ଥାନ ଯୋଡେ (ଯେପରିକି ଏକ ବାକ୍ସରେ ବାଦାମ ପ୍ୟାକ୍ କରିବା)।
- ଏହା ସହଜରେ ତ୍ରୁଟି ଚିହ୍ନଟ କରିବାରେ ସାହାଯ୍ୟ କରେ।
ପଦକ୍ଷେପ ୨: ଯାଦୁକରୀ ଶାସକ (ବହୁପଦ)
- CRC-32 ତଥ୍ୟ ମାପ କରିବା ପାଇଁ ଏକ ସ୍ୱତନ୍ତ୍ର "ଯାଦୁକରୀ ରୁଲର" ବ୍ୟବହାର କରେ। ଏହି ରୁଲରକୁ ଏକ ବାମ୍ଫ ଏବଂ ଖାଲଗୁଡ଼ିକର ପ୍ୟାଟର୍ନ ଭାବରେ ଭାବନ୍ତୁ (ଏହା ବହୁପଦ, କିନ୍ତୁ ସେହି ଶବ୍ଦ ବିଷୟରେ ଚିନ୍ତା କରନ୍ତୁ ନାହିଁ)। CRC-32 ପାଇଁ ସବୁଠାରୁ ସାଧାରଣ "ରୁଲର" ହେଉଛି ଏକ ସ୍ଥିର ପ୍ୟାଟର୍ନ।
ପଦକ୍ଷେପ 3: ରୁଲରକୁ ସ୍ଲାଇଡ୍ କରିବା (ବିଭାଜନ ପ୍ରକ୍ରିୟା)
- ଏବେ CRC ରୁଲରକୁ ବାର୍ତ୍ତା ଉପରେ ସ୍ଲାଇଡ୍ କରେ। ପ୍ରତ୍ୟେକ ସ୍ଥାନରେ, ଏହା ଯାଞ୍ଚ କରେ ଯେ ବାମ୍ପ୍ ଏବଂ ଗ୍ରୁଭ୍ ସଜାଡ଼ି ହୋଇଛି କି ନାହିଁ। ଯଦି ସେଗୁଡ଼ିକ ସଜାଡ଼ି ନହୁଏ, ତେବେ CRC ଏକ ନୋଟ୍ କରେ (ଏହା ସରଳ XOR ବ୍ୟବହାର କରି କରାଯାଏ, ଯେପରିକି ସ୍ୱିଚ୍ଗୁଡ଼ିକୁ ଚାଲୁ କିମ୍ବା ବନ୍ଦ କରିବା)। ଏହା ଶେଷ ପର୍ଯ୍ୟନ୍ତ ସ୍ଲାଇଡ୍ ଏବଂ ସ୍ୱିଚ୍ଗୁଡ଼ିକୁ ଫ୍ଲିଡ୍ କରି ରଖେ ଯେପର୍ଯ୍ୟନ୍ତ ଏହା ଶେଷ ପର୍ଯ୍ୟନ୍ତ ପହଞ୍ଚି ନଥାଏ।
ପଦକ୍ଷେପ ୪: ଅନ୍ତିମ ଫଳାଫଳ (ଚେକସମ୍)
- ସମଗ୍ର ବାର୍ତ୍ତାରେ ରୁଲରକୁ ସ୍ଲାଇଡ୍ କରିବା ପରେ, ଆପଣଙ୍କର ଏକ ଛୋଟ ସଂଖ୍ୟା (32 ବିଟ୍ ଲମ୍ବା) ରହିବ ଯାହା ମୂଳ ତଥ୍ୟକୁ ପ୍ରତିନିଧିତ୍ୱ କରିବ। ଏହି ସଂଖ୍ୟାଟି ବାର୍ତ୍ତା ପାଇଁ ଏକ ଅନନ୍ୟ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ପରି। ଏହା ହେଉଛି CRC-32 ଚେକସମ୍।
ପୃଷ୍ଠାରେ ଉପସ୍ଥାପିତ ସଂସ୍କରଣଟି ହେଉଛି CRC-32C ପ୍ରକାର, ଯାହା ପସନ୍ଦିତ ପ୍ରକାର ହେବା ଉଚିତ, ବିଶେଷକରି ଯଦି ଆପଣ ଏକ CPU ବ୍ୟବହାର କରୁଛନ୍ତି ଯେଉଁଥିରେ ଏହାର ହାର୍ଡୱେର୍ ଆକ୍ସିଲେରେଟେଡ୍ (SSE 4.2 ଏବଂ ପରବର୍ତ୍ତୀ) ଅଛି ଏବଂ ଆପଣଙ୍କୁ ଅନ୍ୟ ପ୍ରକାର ସହିତ ସୁସଙ୍ଗତତାର ଆବଶ୍ୟକତା ନାହିଁ।
ମୋ ପାଖରେ ଅନ୍ୟ ପ୍ରକାର ପାଇଁ ମଧ୍ୟ କାଲକୁଲେଟର ଅଛି:
- ଲିଙ୍କ୍
- ଲିଙ୍କ୍
ଅଧିକ ପଠନ
ଯଦି ଆପଣ ଏହି ପୋଷ୍ଟକୁ ଉପଭୋଗ କରିଛନ୍ତି, ତେବେ ଆପଣଙ୍କୁ ଏହି ପରାମର୍ଶଗୁଡ଼ିକ ମଧ୍ୟ ପସନ୍ଦ ଆସିପାରେ:
