Miklix

Υπολογιστής κατακερματισμού Adler-32

Δημοσιεύθηκε: 17 Φεβρουαρίου 2025 στις 6:01:32 μ.μ. UTC

Αριθμομηχανή κατακερματισμού κώδικα που χρησιμοποιεί τη συνάρτηση κατακερματισμού Adler-32 για τον υπολογισμό ενός κωδικού κατακερματισμού με βάση την εισαγωγή κειμένου ή τη μεταφόρτωση αρχείου.

Αυτή η σελίδα μεταφράστηκε μηχανικά από τα αγγλικά, προκειμένου να είναι προσβάσιμη σε όσο το δυνατόν περισσότερους ανθρώπους. Δυστυχώς, η αυτόματη μετάφραση δεν είναι ακόμη μια τελειοποιημένη τεχνολογία, οπότε μπορεί να προκύψουν λάθη. Αν προτιμάτε, μπορείτε να δείτε την πρωτότυπη αγγλική έκδοση εδώ:

Adler-32 Hash Code Calculator

Η συνάρτηση κατακερματισμού Adler-32 είναι ένας αλγόριθμος αθροίσματος ελέγχου που είναι απλός, γρήγορος και χρησιμοποιείται συχνά για επαλήθευση ακεραιότητας δεδομένων. Σχεδιάστηκε από τον Mark Adler και χρησιμοποιείται συνήθως σε εφαρμογές όπως το zlib για συμπίεση δεδομένων. Σε αντίθεση με τις κρυπτογραφικές συναρτήσεις κατακερματισμού (όπως το SHA-256), το Adler-32 δεν έχει σχεδιαστεί για ασφάλεια αλλά για γρήγορο έλεγχο σφαλμάτων. Υπολογίζει ένα άθροισμα ελέγχου 32 bit (4 bytes), που συνήθως αναπαρίσταται ως 8 δεκαεξαδικοί χαρακτήρες.

Πλήρης αποκάλυψη: Δεν έγραψα τη συγκεκριμένη υλοποίηση της συνάρτησης κατακερματισμού που χρησιμοποιείται σε αυτή τη σελίδα. Πρόκειται για μια τυπική συνάρτηση που περιλαμβάνεται στη γλώσσα προγραμματισμού PHP. Έφτιαξα μόνο τη διαδικτυακή διεπαφή για να την κάνω δημόσια διαθέσιμη εδώ για λόγους ευκολίας.


Υπολογισμός νέου κωδικού κατακερματισμού

Τα δεδομένα που υποβάλλονται ή τα αρχεία που μεταφορτώνονται μέσω αυτής της φόρμας θα διατηρηθούν στον διακομιστή μόνο για όσο χρονικό διάστημα απαιτείται για τη δημιουργία του ζητούμενου κωδικού κατακερματισμού. Θα διαγραφούν αμέσως πριν από την επιστροφή του αποτελέσματος στο πρόγραμμα περιήγησής σας.

Δεδομένα εισόδου:



Το υποβαλλόμενο κείμενο είναι κωδικοποιημένο με UTF-8. Δεδομένου ότι οι συναρτήσεις κατακερματισμού λειτουργούν με δυαδικά δεδομένα, το αποτέλεσμα θα είναι διαφορετικό από ό,τι αν το κείμενο ήταν σε άλλη κωδικοποίηση. Εάν πρέπει να υπολογίσετε ένα hash ενός κειμένου σε συγκεκριμένη κωδικοποίηση, θα πρέπει να ανεβάσετε ένα αρχείο.



Σχετικά με τον αλγόριθμο κατακερματισμού Adler-32

Δεν είμαι μαθηματικός, αλλά θα προσπαθήσω να εξηγήσω αυτή τη συνάρτηση κατακερματισμού χρησιμοποιώντας μια καθημερινή αναλογία που ελπίζω ότι οι συνάδελφοί μου μη μαθηματικοί μπορούν να κατανοήσουν. Σε αντίθεση με πολλές από τις κρυπτογραφικές συναρτήσεις κατακερματισμού, το Adler32 είναι μια αρκετά απλή συνάρτηση αθροίσματος ελέγχου, οπότε αυτό δεν πρέπει να είναι πολύ κακό ;-)

Φανταστείτε ότι έχετε μια τσάντα με μικρά αριθμημένα πλακίδια, που το καθένα αντιπροσωπεύει ένα γράμμα ή μέρος των δεδομένων σας. Για παράδειγμα, η λέξη "Hi" έχει δύο πλακίδια: ένα για το "H" και ένα για το "i".

Τώρα, θα κάνουμε δύο απλά πράγματα με αυτά τα πλακίδια:

Βήμα 1: Προσθέστε τα (Άθροισμα Α)

  • Ξεκινήστε με τον αριθμό 1 (κατά κανόνα).
  • Προσθέστε τον αριθμό από κάθε πλακίδιο σε αυτό το σύνολο.

Βήμα 2: Διατηρήστε ένα τρέχον σύνολο όλων των αθροισμάτων (Άθροισμα Β)

  • Κάθε φορά που προσθέτετε τον αριθμό ενός νέου πλακιδίου στο άθροισμα Α, προσθέτετε επίσης τη νέα τιμή του αθροίσματος Α στο άθροισμα Β.
  • Είναι σαν να στοιβάζετε νομίσματα: προσθέτετε ένα νόμισμα από πάνω (Άθροισμα A) και στη συνέχεια σημειώνετε το νέο συνολικό ύψος στοίβας (Άθροισμα Β).

Στο τέλος, κολλάτε τα δύο σύνολα μεταξύ τους για να κάνετε έναν μεγάλο αριθμό. Αυτός ο μεγάλος αριθμός είναι το άθροισμα ελέγχου Adler-32.

Μοιραστείτε το στο BlueskyΚοινή χρήση στο FacebookΚοινοποίηση στο LinkedInΜοιραστείτε το στο TumblrΚοινοποίηση στο XΚοινοποίηση στο LinkedInΚαρφιτσώστε στο Pinterest

Μίκελ Μπανγκ Κρίστενσεν

Σχετικά με τον συγγραφέα

Μίκελ Μπανγκ Κρίστενσεν
Ο Μιχαήλ είναι ο δημιουργός και ιδιοκτήτης του miklix.com. Έχει πάνω από 20 χρόνια εμπειρίας ως επαγγελματίας προγραμματιστής υπολογιστών/προγραμματιστής λογισμικού και σήμερα εργάζεται με πλήρη απασχόληση σε μια μεγάλη ευρωπαϊκή εταιρεία πληροφορικής. Όταν δεν ασχολείται με το ιστολόγιο, αφιερώνει τον ελεύθερο χρόνο του σε ένα ευρύ φάσμα ενδιαφερόντων, χόμπι και δραστηριοτήτων, τα οποία μπορεί σε κάποιο βαθμό να αντικατοπτρίζονται στην ποικιλία των θεμάτων που καλύπτονται σε αυτόν τον ιστότοπο.