ଫାଉଲର-ନୋଲ-ଭୋ FNV1-64 ହାସ କୋଡ୍ କାଲକୁଲେଟର
ପ୍ରକାଶିତ: 9:36:44 PM UTC ଠାରେ ଫେବୃଆରୀ 17, 2025
ଟେକ୍ସଟ୍ ଇନପୁଟ୍ କିମ୍ବା ଫାଇଲ୍ ଅପଲୋଡ୍ ଉପରେ ଆଧାରିତ ଏକ ହାସ୍ କୋଡ୍ ଗଣନା କରିବା ପାଇଁ ଫାଉଲର-ନୋଲ୍-ଭୋ 1 64 ବିଟ୍ (FNV1-64) ହାସ୍ ଫଙ୍କସନ୍ ବ୍ୟବହାର କରୁଥିବା ହାସ୍ କୋଡ୍ କାଲକୁଲେଟର।Fowler-Noll-Vo FNV1-64 Hash Code Calculator
FNV-1 64-ବିଟ୍ ହାସ୍ ଫଙ୍କସନ୍ ହେଉଛି ଫାଉଲର-ନୋଲ୍-ଭୋ (FNV) ହାସ୍ ଫଙ୍କସନ୍ ପରିବାରର ଏକ ଅଂଶ, ଯାହା ହାସ୍ ମୂଲ୍ୟର ଭଲ ବଣ୍ଟନ ବଜାୟ ରଖି ଦ୍ରୁତ ହାସିଂ ପାଇଁ ଡିଜାଇନ୍ କରାଯାଇଛି। ଏହା ସାଧାରଣତଃ ହାସ୍ ଟେବୁଲ୍, ଚେକସମ୍ ଏବଂ ଡାଟା ଲୁକଅପ୍ ଭଳି ଆପ୍ଲିକେସନ୍ଗୁଡ଼ିକରେ ବ୍ୟବହୃତ ହୁଏ। ଏହା ଏକ 64 ବିଟ୍ (8 ବାଇଟ୍) ହାସ୍ କୋଡ୍ ଉତ୍ପାଦନ କରେ, ଯାହାକୁ ପ୍ରାୟତଃ 16 ଅଙ୍କ ବିଶିଷ୍ଟ ହେକ୍ସାଡେସିମାଲ୍ ସଂଖ୍ୟା ଭାବରେ ଦର୍ଶାଯାଇଥାଏ।
ସମ୍ପୂର୍ଣ୍ଣ ପ୍ରକାଶ: ମୁଁ ଏହି ପୃଷ୍ଠାରେ ବ୍ୟବହୃତ ହାସ୍ ଫଙ୍କସନ୍ର ନିର୍ଦ୍ଦିଷ୍ଟ କାର୍ଯ୍ୟାନ୍ୱୟନ ଲେଖିନାହିଁ। ଏହା PHP ପ୍ରୋଗ୍ରାମିଂ ଭାଷା ସହିତ ଅନ୍ତର୍ଭୁକ୍ତ ଏକ ମାନକ ଫଙ୍କସନ୍। ସୁବିଧା ପାଇଁ ଏଠାରେ ସାର୍ବଜନୀନ ଭାବରେ ଉପଲବ୍ଧ କରିବା ପାଇଁ ମୁଁ କେବଳ ୱେବ୍ ଇଣ୍ଟରଫେସ୍ ତିଆରି କରିଛି।
ଫାଉଲର-ନୋଲ-ଭୋ FNV-1 64 ବିଟ୍ ହାସ୍ ଆଲଗୋରିଦମ ବିଷୟରେ
ମୁଁ ଜଣେ ଗଣିତଜ୍ଞ ନୁହେଁ, କିନ୍ତୁ ମୁଁ ଏହି ହାସ୍ ଫଙ୍କସନ୍କୁ ଏକ ଉପମା ବ୍ୟବହାର କରି ବ୍ୟାଖ୍ୟା କରିବାକୁ ଚେଷ୍ଟା କରିବି ଯାହା ମୋର ଅଣ-ଗଣିତଜ୍ଞମାନେ ବୁଝିପାରିବେ। ଯଦି ଆପଣ ଏକ ବୈଜ୍ଞାନିକ ଭାବରେ ସଠିକ୍, ଭୟଙ୍କର-ଗଣିତ ବ୍ୟାଖ୍ୟା ପସନ୍ଦ କରନ୍ତି, ତେବେ ମୁଁ ନିଶ୍ଚିତ ଯେ ଆପଣ ତାହା ଅନ୍ୟତ୍ର ପାଇପାରିବେ ;-)
ପ୍ରଥମେ, ଆସନ୍ତୁ FNV-1 ଆଲଗୋରିଦମକୁ ଏକ ସ୍ୱତନ୍ତ୍ର ସ୍ମୁଦି ତିଆରି କରିବାର ରେସିପି ଭାବରେ ଭାବିବା। ଆପଣ ଯୋଡ଼ୁଥିବା ପ୍ରତ୍ୟେକ ଉପାଦାନ (ଯେପରିକି ଫଳ, କ୍ଷୀର, କିମ୍ବା ମହୁ) ଏକ ତଥ୍ୟର ଅଂଶକୁ ପ୍ରତିନିଧିତ୍ୱ କରେ - ଯେପରିକି ଅକ୍ଷର, ସଂଖ୍ୟା, କିମ୍ବା ଏକ ସମ୍ପୂର୍ଣ୍ଣ ଫାଇଲ୍।
ଏବେ, ଲକ୍ଷ୍ୟ ହେଉଛି ଏହି ଉପାଦାନଗୁଡ଼ିକୁ ଏକ ଅତି ନିର୍ଦ୍ଦିଷ୍ଟ ଉପାୟରେ ମିଶ୍ରଣ କରିବା ଯାହା ଦ୍ଵାରା ରେସିପିରେ ସାମାନ୍ୟ ପରିବର୍ତ୍ତନ (ଯେପରିକି ଗୋଟିଏ ଅତିରିକ୍ତ ବ୍ଲୁବେରୀ ଯୋଡିବା) ମଧ୍ୟ ସ୍ମୁଦିର ସ୍ୱାଦକୁ ସମ୍ପୂର୍ଣ୍ଣ ଭିନ୍ନ କରିଥାଏ। ହାସ୍ ଫଙ୍କସନ୍ ଏହିପରି କାର୍ଯ୍ୟ କରେ - ସେମାନେ ପ୍ରତ୍ୟେକ ଅନନ୍ୟ ଉପାଦାନ ସେଟ୍ (କିମ୍ବା ଇନପୁଟ୍ ଡାଟା) ପାଇଁ ଏକ ଅନନ୍ୟ "ସ୍ବାଦ" (କିମ୍ବା ହାସ୍ ମୂଲ୍ୟ) ସୃଷ୍ଟି କରନ୍ତି।
FNV-1 ଆଲଗୋରିଦମ ଏହା କିପରି କରେ ତାହା ଏକ ବହୁ-ପଦକ୍ଷେପ ପ୍ରକ୍ରିୟା:
ପଦକ୍ଷେପ ୧: ଏକ ଆଧାର (ଅଫସେଟ୍ ଆଧାର) ସହିତ ଆରମ୍ଭ କରନ୍ତୁ
ଏହାକୁ ଆପଣଙ୍କ ବ୍ଲେଣ୍ଡରରେ ଏକ ସ୍ୱତନ୍ତ୍ର ସ୍ମୁଦି ବେସ୍ ଢାଳିବା ପରି ଭାବନ୍ତୁ। ଆପଣ ଯେକୌଣସି ଉପାଦାନ ଯୋଡ଼ନ୍ତୁ ନା କାହିଁକି, ଏହି ବେସ୍ ସର୍ବଦା ସମାନ ରହିଥାଏ। FNV-1 ରେ, ଏହାକୁ "ଅଫସେଟ୍ ବେସିସ୍" କୁହାଯାଏ - କେବଳ ଏକ ଫ୍ୟାନ୍ସି ଆରମ୍ଭ ସଂଖ୍ୟା।
ପଦକ୍ଷେପ 2: ଗୋଟିଏ ପରେ ଗୋଟିଏ ଉପାଦାନ ଯୋଡନ୍ତୁ (ଡାଟା ପ୍ରକ୍ରିୟାକରଣ)
ଏବେ ତୁମେ ତୁମର ଉପାଦାନଗୁଡ଼ିକୁ ଗୋଟିଏ ପରେ ଗୋଟିଏ ଯୋଡିବା ଆରମ୍ଭ କର - ଧରାଯାଉ ଗୋଟିଏ ଷ୍ଟ୍ରବେରି, ତା'ପରେ ଗୋଟିଏ କଦଳୀ, ତା'ପରେ କିଛି ମହୁ। ଏଗୁଡ଼ିକ ପ୍ରତ୍ୟେକ ତଥ୍ୟର ଏକ ବାଇଟ୍ ପ୍ରତିନିଧିତ୍ୱ କରେ।
ପଦକ୍ଷେପ 3: ଏକ ଗୁପ୍ତ ଗୁଣକ (FNV ପ୍ରାଇମ୍) ସହିତ ମିଶ୍ରଣ କରନ୍ତୁ।
ପ୍ରତ୍ୟେକ ଉପାଦାନ ଯୋଡ଼ିବା ପରେ, ଆପଣ ମିଶ୍ରଣ ବଟନ୍ ଦବାନ୍ତି, କିନ୍ତୁ ଏଠାରେ ମୋଡ଼ ଅଛି: ବ୍ଲେଣ୍ଡର ସବୁକିଛିକୁ FNV ପ୍ରାଇମ୍ ନାମକ ଏକ ଗୁପ୍ତ "ଯାଦୁକରୀ ସଂଖ୍ୟା" ଦ୍ୱାରା ଗୁଣନ କରେ। ଏହା ଜିନିଷଗୁଡ଼ିକୁ ଭଲ ଭାବରେ ମିଶ୍ରଣ କରିବାରେ ସାହାଯ୍ୟ କରେ।
ପଦକ୍ଷେପ 4: ଏକ ଡ୍ୟାସ୍ ଅଫ୍ ମ୍ୟାଜିକ୍ ଯୋଡନ୍ତୁ (XOR ଅପରେସନ୍)
ପରବର୍ତ୍ତୀ ଉପାଦାନ ଯୋଡ଼ିବା ପୂର୍ବରୁ, ଆପଣ ଟିକେ ଯାଦୁକରୀ ଧୂଳି ଛିଞ୍ଚନ୍ତୁ (ଏହା XOR କାର୍ଯ୍ୟ)। ଏହା ଅପ୍ରତ୍ୟାଶିତ ଉପାୟରେ ସ୍ୱାଦକୁ ଓଲଟାଇବା ପରି, ଛୋଟ ଛୋଟ ପରିବର୍ତ୍ତନ ମଧ୍ୟ ଏକ ବଡ଼ ପରିବର୍ତ୍ତନ ଆଣିଥାଏ ବୋଲି ନିଶ୍ଚିତ କରିବା।
ପଦକ୍ଷେପ 5: ସମାପ୍ତ ହେବା ପର୍ଯ୍ୟନ୍ତ ପୁନରାବୃତ୍ତି କରନ୍ତୁ
ପ୍ରତ୍ୟେକ ନୂତନ ଉପାଦାନ ପରେ ତୁମେ ସବୁକିଛି ପ୍ରକ୍ରିୟାକରଣ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ମିଶ୍ରଣ ଏବଂ ଯାଦୁ ସିଞ୍ଚନ କରିଚାଲ।
ପଦକ୍ଷେପ 6: ଶେଷ ସ୍ମୁଥି (ହାସ୍ ମୂଲ୍ୟ)
କାମ ସରିବା ପରେ, ତୁମେ ସ୍ମୁଦିକୁ ଢାଳିଦିଅ। ଶେଷ ସ୍ୱାଦ (ହାସ୍ ମୂଲ୍ୟ) ଉପାଦାନଗୁଡ଼ିକର ସେହି ମିଶ୍ରଣ ପାଇଁ ଅନନ୍ୟ। ଯଦି ତୁମେ ଗୋଟିଏ ଅତିରିକ୍ତ ବ୍ଲୁବେରୀ ମଧ୍ୟ ଯୋଡିଥାନ୍ତ, ତେବେ ଏହାର ସ୍ୱାଦ ସମ୍ପୂର୍ଣ୍ଣ ଭିନ୍ନ ହୋଇଥାନ୍ତା।
ଏଠାରେ ଉପସ୍ଥାପିତ ସଂସ୍କରଣଟି ମୂଳ FNV-1 64 ବିଟ୍ ସଂସ୍କରଣ। ଏଠାରେ ଏକ ଉନ୍ନତ FNV-1a 64 ବିଟ୍ ସଂସ୍କରଣ ମଧ୍ୟ ଉପଲବ୍ଧ ଅଛି: ଫାଉଲର-ନୋଲ-ଭୋ FNV1a-64 ହାସ କୋଡ୍ କାଲକୁଲେଟର