CRC-32C ಹ್ಯಾಶ್ ಕೋಡ್ ಕ್ಯಾಲ್ಕುಲೇಟರ್
ಪ್ರಕಟಣೆ: ಫೆಬ್ರವರಿ 17, 2025 ರಂದು 06:46:17 ಅಪರಾಹ್ನ UTC ಸಮಯಕ್ಕೆ
ಕೊನೆಯದಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ: ಜನವರಿ 12, 2026 ರಂದು 11:37:40 ಪೂರ್ವಾಹ್ನ UTC ಸಮಯಕ್ಕೆ
CRC-32C Hash Code Calculator
ಸೈಕ್ಲಿಕ್ ರಿಡಂಡೆನ್ಸಿ ಚೆಕ್ (CRC) ಎನ್ನುವುದು ಕಚ್ಚಾ ಡೇಟಾಗೆ ಆಕಸ್ಮಿಕ ಬದಲಾವಣೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ದೋಷ-ಪತ್ತೆ ಕೋಡ್ ಆಗಿದೆ. ತಾಂತ್ರಿಕವಾಗಿ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಹ್ಯಾಶ್ ಕಾರ್ಯವಲ್ಲದಿದ್ದರೂ, ವೇರಿಯಬಲ್-ಉದ್ದದ ಇನ್ಪುಟ್ನಿಂದ ಸ್ಥಿರ-ಗಾತ್ರದ ಔಟ್ಪುಟ್ (32 ಬಿಟ್ಗಳು) ಉತ್ಪಾದಿಸುವ ಸಾಮರ್ಥ್ಯದಿಂದಾಗಿ CRC-32 ಅನ್ನು ಹೆಚ್ಚಾಗಿ ಹ್ಯಾಶ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಈ ಪುಟದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾದ ಆವೃತ್ತಿಯು CRC-32C ರೂಪಾಂತರವಾಗಿದೆ, ಇದು ಹೊಸ, "ಸ್ಮಾರ್ಟರ್" (ಉತ್ತಮ ದೋಷ ಪತ್ತೆ) ಆವೃತ್ತಿಯಾಗಿದ್ದು, ಇದನ್ನು ಆಧುನಿಕ CPU ಗಳಲ್ಲಿ (SSE 4.2 ಮೂಲಕ) ಹಾರ್ಡ್ವೇರ್ ವೇಗವರ್ಧಿಸಲಾಗುತ್ತದೆ.
ಪೂರ್ಣ ಬಹಿರಂಗಪಡಿಸುವಿಕೆ: ಈ ಪುಟದಲ್ಲಿ ಬಳಸಲಾದ ಹ್ಯಾಶ್ ಕಾರ್ಯದ ನಿರ್ದಿಷ್ಟ ಅನುಷ್ಠಾನವನ್ನು ನಾನು ಬರೆದಿಲ್ಲ. ಇದು PHP ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯೊಂದಿಗೆ ಸೇರಿಸಲಾದ ಪ್ರಮಾಣಿತ ಕಾರ್ಯವಾಗಿದೆ. ಅನುಕೂಲಕ್ಕಾಗಿ ಇಲ್ಲಿ ಸಾರ್ವಜನಿಕವಾಗಿ ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡಲು ನಾನು ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಮಾತ್ರ ಮಾಡಿದ್ದೇನೆ.
CRC-32C ಹ್ಯಾಶ್ ಅಲ್ಗಾರಿದಮ್ ಬಗ್ಗೆ
ನಾನು ಗಣಿತಜ್ಞನಲ್ಲ, ಆದರೆ ಈ ಹ್ಯಾಶ್ ಫಂಕ್ಷನ್ ಅನ್ನು ಸರಳ ಸಾದೃಶ್ಯದೊಂದಿಗೆ ವಿವರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ. ಹಲವು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಹ್ಯಾಶ್ ಫಂಕ್ಷನ್ಗಳಂತೆ, ಇದು ನಿರ್ದಿಷ್ಟವಾಗಿ ಸಂಕೀರ್ಣವಾದ ಅಲ್ಗಾರಿದಮ್ ಅಲ್ಲ, ಆದ್ದರಿಂದ ಇದು ಬಹುಶಃ ಸರಿಯಾಗಿರುತ್ತದೆ ;-)
ನೀವು ಮೇಲ್ ಮೂಲಕ ಪತ್ರವನ್ನು ಕಳುಹಿಸುತ್ತಿದ್ದೀರಿ ಎಂದು ಊಹಿಸಿ, ಆದರೆ ಅದು ಸ್ವೀಕರಿಸುವವರಿಗೆ ತಲುಪುವ ಮೊದಲೇ ಅದು ಹಾನಿಗೊಳಗಾಗಬಹುದು ಎಂದು ನೀವು ಚಿಂತಿತರಾಗಿದ್ದೀರಿ. ಪತ್ರದ ವಿಷಯದ ಆಧಾರದ ಮೇಲೆ, ನೀವು CRC-32 ಚೆಕ್ಸಮ್ ಅನ್ನು ಲೆಕ್ಕ ಹಾಕಿ ಅದನ್ನು ಲಕೋಟೆಯ ಮೇಲೆ ಬರೆಯಿರಿ. ಸ್ವೀಕರಿಸುವವರು ಪತ್ರವನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ, ಅವನು ಅಥವಾ ಅವಳು ಚೆಕ್ಸಮ್ ಅನ್ನು ಲೆಕ್ಕ ಹಾಕಬಹುದು ಮತ್ತು ನೀವು ಬರೆದದ್ದಕ್ಕೆ ಅದು ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ನೋಡಬಹುದು. ಹಾಗಿದ್ದಲ್ಲಿ, ಪತ್ರವು ಹಾನಿಗೊಳಗಾಗಿಲ್ಲ ಅಥವಾ ದಾರಿಯುದ್ದಕ್ಕೂ ಬದಲಾಗಿಲ್ಲ.
CRC-32 ಇದನ್ನು ಮಾಡುವ ವಿಧಾನವು ನಾಲ್ಕು ಹಂತದ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ:
ಹಂತ 1: ಸ್ವಲ್ಪ ಹೆಚ್ಚುವರಿ ಜಾಗವನ್ನು ಸೇರಿಸಿ (ಪ್ಯಾಡಿಂಗ್)
- CRC ಸಂದೇಶದ ಕೊನೆಯಲ್ಲಿ ಸ್ವಲ್ಪ ಹೆಚ್ಚುವರಿ ಜಾಗವನ್ನು ಸೇರಿಸುತ್ತದೆ (ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ ಕಡಲೆಕಾಯಿಗಳನ್ನು ಪ್ಯಾಕ್ ಮಾಡಿದಂತೆ).
- ಇದು ದೋಷಗಳನ್ನು ಸುಲಭವಾಗಿ ಗುರುತಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಹಂತ 2: ಮ್ಯಾಜಿಕ್ ರೂಲರ್ (ಬಹುಪದೋಕ್ತಿ)
- CRC-32 ದತ್ತಾಂಶವನ್ನು ಅಳೆಯಲು ವಿಶೇಷ "ಮ್ಯಾಜಿಕ್ ರೂಲರ್" ಅನ್ನು ಬಳಸುತ್ತದೆ. ಈ ರೂಲರ್ ಅನ್ನು ಉಬ್ಬುಗಳು ಮತ್ತು ಚಡಿಗಳ ಮಾದರಿಯಂತೆ ಭಾವಿಸಿ (ಇದು ಬಹುಪದೋಕ್ತಿ, ಆದರೆ ಆ ಪದದ ಬಗ್ಗೆ ಚಿಂತಿಸಬೇಡಿ). CRC-32 ಗಾಗಿ ಅತ್ಯಂತ ಸಾಮಾನ್ಯವಾದ "ರೂಲರ್" ಸ್ಥಿರ ಮಾದರಿಯಾಗಿದೆ.
ಹಂತ 3: ರೂಲರ್ ಅನ್ನು ಸ್ಲೈಡಿಂಗ್ ಮಾಡುವುದು (ವಿಭಜನಾ ಪ್ರಕ್ರಿಯೆ)
- ಈಗ CRC ಸಂದೇಶದಾದ್ಯಂತ ರೂಲರ್ ಅನ್ನು ಸ್ಲೈಡ್ ಮಾಡುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಸ್ಥಳದಲ್ಲಿಯೂ, ಉಬ್ಬುಗಳು ಮತ್ತು ಚಡಿಗಳು ಸಾಲಾಗಿ ನಿಲ್ಲುತ್ತವೆಯೇ ಎಂದು ಅದು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಅವು ಸಾಲಾಗಿ ನಿಲ್ಲದಿದ್ದರೆ, CRC ಒಂದು ಟಿಪ್ಪಣಿ ಮಾಡುತ್ತದೆ (ಇದನ್ನು ಸರಳ XOR ಬಳಸಿ ಮಾಡಲಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಸ್ವಿಚ್ಗಳನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡುವುದು). ಅದು ಅಂತ್ಯವನ್ನು ತಲುಪುವವರೆಗೆ ಸ್ಲೈಡಿಂಗ್ ಮತ್ತು ಸ್ವಿಚ್ಗಳನ್ನು ಫ್ಲಿಪ್ ಮಾಡುತ್ತಲೇ ಇರುತ್ತದೆ.
ಹಂತ 4: ಅಂತಿಮ ಫಲಿತಾಂಶ (ಚೆಕ್ಸಮ್)
- ಇಡೀ ಸಂದೇಶದಾದ್ಯಂತ ರೂಲರ್ ಅನ್ನು ಸ್ಲೈಡ್ ಮಾಡಿದ ನಂತರ, ನಿಮಗೆ ಮೂಲ ಡೇಟಾವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಒಂದು ಸಣ್ಣ ಸಂಖ್ಯೆ (32 ಬಿಟ್ಗಳು ಉದ್ದ) ಉಳಿಯುತ್ತದೆ. ಈ ಸಂಖ್ಯೆ ಸಂದೇಶಕ್ಕೆ ವಿಶಿಷ್ಟವಾದ ಫಿಂಗರ್ಪ್ರಿಂಟ್ನಂತಿದೆ. ಇದು CRC-32 ಚೆಕ್ಸಮ್ ಆಗಿದೆ.
ಪುಟದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾದ ಆವೃತ್ತಿಯು CRC-32C ರೂಪಾಂತರವಾಗಿದ್ದು, ಇದು ಆದ್ಯತೆಯ ರೂಪಾಂತರವಾಗಿರಬೇಕು, ವಿಶೇಷವಾಗಿ ನೀವು ಹಾರ್ಡ್ವೇರ್ ವೇಗವರ್ಧಿತ CPU ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ (SSE 4.2 ಮತ್ತು ನಂತರದ) ಮತ್ತು ನಿಮಗೆ ಇತರ ರೂಪಾಂತರಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ.
ನನ್ನಲ್ಲಿ ಇತರ ರೂಪಾಂತರಗಳಿಗೂ ಕ್ಯಾಲ್ಕುಲೇಟರ್ಗಳಿವೆ:
- ಲಿಂಕ್
- ಲಿಂಕ್
ಹೆಚ್ಚಿನ ಓದಿಗೆ
ನೀವು ಈ ಪೋಸ್ಟ್ ಅನ್ನು ಆನಂದಿಸಿದ್ದರೆ, ನೀವು ಈ ಸಲಹೆಗಳನ್ನು ಸಹ ಇಷ್ಟಪಡಬಹುದು:
- Snefru-256 ಹ್ಯಾಶ್ ಕೋಡ್ ಕ್ಯಾಲ್ಕುಲೇಟರ್
- HAVAL-128/5 ಹ್ಯಾಶ್ ಕೋಡ್ ಕ್ಯಾಲ್ಕುಲೇಟರ್
- ಟೈಗರ್-128/4 ಹ್ಯಾಶ್ ಕೋಡ್ ಕ್ಯಾಲ್ಕುಲೇಟರ್
