CRC-32 Hash Generator

Υπολογίστε CRC-32 αθροίσματα ελέγχου για επαλήθευση ακεραιότητας δεδομένων και ανίχνευση σφαλμάτων σε αρχεία και δικτυακές επικοινωνίες

Δοκιμάστε αυτά τα παραδείγματα:

Τι είναι το CRC-32;

CRC-32 (Cyclic Redundancy Check, 32-bit) είναι ένας γρήγορος αλγόριθμος checksum που χρησιμοποιείται για την ανίχνευση τυχαίων αλλαγών στα δεδομένα. Παράγει μια 32-bit τιμή (8 hex χαρακτήρες) βασισμένη σε πολυωνυμικό διαχωρισμό των εισερχόμενων δεδομένων. Συνήθως υλοποιείται σε hardware και software για έλεγχο σφαλμάτων σε δίκτυα, συσκευές αποθήκευσης και μορφές αρχείων.

Πώς λειτουργεί το CRC-32

  1. Αρχικοποιήστε ένα 32-bit καταχωρητή με όλα τα 1 (0xFFFFFFFF).
  2. Επεξεργαστείτε κάθε byte κάνοντας XOR με το κορυφαίο byte του καταχωρητή και χρησιμοποιώντας έναν προϋπολογισμένο πίνακα αναζήτησης.
  3. Μετακινήστε τον καταχωρητή 8 bits και κάντε XOR με την τιμή του πίνακα.
  4. Επαναλάβετε μέχρι να επεξεργαστούν όλα τα bytes.
  5. Ολοκληρώστε αντιστρέφοντας τον καταχωρητή (bitwise NOT) για να λάβετε την τιμή CRC-32.

Συνηθισμένες εφαρμογές

  • ZIP, gzip, PNG και άλλες μορφές αρχείων για ελέγχους ακεραιότητας
  • Ethernet, PPP και άλλα πρωτόκολλα δικτύου
  • Συσκευές αποθήκευσης όπως HDD, SSD και RAID controllers
  • Επαλήθευση αρχείων και έλεγχοι ακεραιότητας λήψης

Παραδείγματα checksums

InputCRC-32
Hello World4a17b156
password477dff2a
test123c4b96aea
(κενό)00000000

CRC-32 έναντι άλλων checksums και hashes

AlgorithmOutputΑντίσταση σε συγκρούσειςSpeed
CRC-3232 bits❌ Χαμηλή⚡ Πολύ γρήγορο
MD5128 bits❌ Σπασμένο⚡ Γρήγορο
SHA-1160 bits❌ Διαβρωμένο⚡ Γρήγορο
SHA-256256 bits✅ Ασφαλές🚀 Μέτριο
BLAKE3256 bits✅ Πολύ ασφαλές⚡ Αστραπιαίο

Συχνές Ερωτήσεις

Είναι το CRC-32 ασφαλές για κρυπτογραφική χρήση;

Όχι. Το CRC-32 έχει σχεδιαστεί για ανίχνευση σφαλμάτων, όχι για ασφάλεια. Είναι ευάλωτο σε σκόπιμες συγκρούσεις.

Γιατί να χρησιμοποιήσω CRC-32 αντί για κρυπτογραφικό hash;

Το CRC-32 είναι πολύ πιο γρήγορο και επαρκές για την ανίχνευση τυχαίων σφαλμάτων, αλλά δεν πρέπει να χρησιμοποιείται σε εφαρμογές κρίσιμες για την ασφάλεια.

Πώς μπορώ να επαληθεύσω μια λήψη αρχείου;

Δημιουργήστε το CRC-32 checksum του ληφθέντος αρχείου και συγκρίνετέ το με την δημοσιευμένη τιμή για να διασφαλίσετε την ακεραιότητα.

Resources