Κωδικοποίηση Base64

Με το εργαλείο κωδικοποίησης Base64, μπορείτε να κρυπτογραφήσετε το κείμενο που εισάγετε με τη μέθοδο Base64. Εάν θέλετε, μπορείτε να αποκωδικοποιήσετε τον κρυπτογραφημένο κώδικα Base64 με το εργαλείο Base64 Decode.

Τι είναι η Κωδικοποίηση Base64;

Το Base64 Encoding είναι ένα σχήμα κωδικοποίησης που επιτρέπει τη μεταφορά δυαδικών δεδομένων σε περιβάλλοντα που χρησιμοποιούν μόνο ορισμένες περιορισμένες κωδικοποιήσεις χαρακτήρων (περιβάλλοντα όπου δεν μπορούν να χρησιμοποιηθούν όλοι οι κωδικοί χαρακτήρων, όπως xml, html, script, εφαρμογές ανταλλαγής άμεσων μηνυμάτων). Ο αριθμός των χαρακτήρων σε αυτό το σχήμα είναι 64 και ο αριθμός 64 στη λέξη Base64 προέρχεται από εδώ.

Γιατί να χρησιμοποιήσετε την κωδικοποίηση Base64;

Η ανάγκη για κωδικοποίηση Base64 πηγάζει από προβλήματα που προκύπτουν όταν τα μέσα μεταδίδονται σε ακατέργαστη δυαδική μορφή σε συστήματα που βασίζονται σε κείμενο. Επειδή τα συστήματα που βασίζονται σε κείμενο (όπως το ηλεκτρονικό ταχυδρομείο) ερμηνεύουν τα δυαδικά δεδομένα ως ένα ευρύ φάσμα χαρακτήρων, συμπεριλαμβανομένων των ειδικών χαρακτήρων εντολών, τα περισσότερα από τα δυαδικά δεδομένα που μεταδίδονται στο μέσο μεταφοράς παρερμηνεύονται από αυτά τα συστήματα και χάνονται ή αλλοιώνονται κατά τη μετάδοση επεξεργάζομαι, διαδικασία.

Μια μέθοδος κωδικοποίησης τέτοιων δυαδικών δεδομένων με τρόπο που να αποφεύγονται τέτοια προβλήματα μετάδοσης είναι η αποστολή τους ως απλό κείμενο ASCII σε κωδικοποιημένη μορφή Base64. Αυτή είναι μια από τις τεχνικές που χρησιμοποιεί το πρότυπο MIME για την αποστολή δεδομένων εκτός του απλού κειμένου. Πολλές γλώσσες προγραμματισμού, όπως η PHP και η Javascript, περιλαμβάνουν λειτουργίες κωδικοποίησης και αποκωδικοποίησης Base64 για την ερμηνεία δεδομένων που μεταδίδονται χρησιμοποιώντας την κωδικοποίηση Base64.

Λογική κωδικοποίησης Base64

Στην κωδικοποίηση Base64, 3 * 8 bit = 24 bit δεδομένων που αποτελούνται από 3 byte χωρίζονται σε 4 ομάδες των 6 bit. Οι χαρακτήρες που αντιστοιχούν στις δεκαδικές τιμές μεταξύ [0-64] αυτών των 4 ομάδων 6-bit αντιστοιχίζονται από τον πίνακα Base64 για κωδικοποίηση. Ο αριθμός των χαρακτήρων που λαμβάνονται ως αποτέλεσμα της κωδικοποίησης Base64 πρέπει να είναι πολλαπλάσιο του 4. Τα κωδικοποιημένα δεδομένα που δεν είναι πολλαπλάσιο του 4 δεν είναι έγκυρα δεδομένα Base64. Κατά την κωδικοποίηση με τον αλγόριθμο Base64, όταν ολοκληρωθεί η κωδικοποίηση, εάν το μήκος των δεδομένων δεν είναι πολλαπλάσιο του 4, ο χαρακτήρας "=" (ίσος) προστίθεται στο τέλος της κωδικοποίησης μέχρι να γίνει πολλαπλάσιο του 4. Για παράδειγμα, εάν έχουμε κωδικοποιημένα δεδομένα 10 χαρακτήρων Base64 ως αποτέλεσμα της κωδικοποίησης, δύο "==" θα πρέπει να προστεθούν στο τέλος.

Παράδειγμα κωδικοποίησης Base64

Για παράδειγμα, πάρτε τους τρεις αριθμούς ASCII 155, 162 και 233. Αυτοί οι τρεις αριθμοί σχηματίζουν μια δυαδική ροή 100110111010001011101001. Ένα δυαδικό αρχείο όπως μια εικόνα περιέχει μια δυαδική ροή που λειτουργεί για δεκάδες ή εκατοντάδες χιλιάδες μηδενικά και ένα. Ένας κωδικοποιητής Base64 ξεκινά χωρίζοντας τη δυαδική ροή σε ομάδες των έξι χαρακτήρων: 100110 111010 001011 101001. Κάθε μία από αυτές τις ομαδοποιήσεις μεταφράζεται στους αριθμούς 38, 58, 11 και 41. Μια δυαδική ροή έξι χαρακτήρων μετατρέπεται μεταξύ δυαδικού (ή βασικού). 2) σε δεκαδικούς χαρακτήρες (βάση-10) τετραγωνίζοντας κάθε τιμή που αντιπροσωπεύεται από 1 στον δυαδικό πίνακα με το τετράγωνο θέσης. Ξεκινώντας από τα δεξιά και μετακινώντας προς τα αριστερά και ξεκινώντας από το μηδέν, οι τιμές στη δυαδική ροή αντιπροσωπεύουν 2^0, μετά 2^1, μετά 2^2, μετά 2^3, μετά 2^4, μετά 2^ 5.

Εδώ είναι ένας άλλος τρόπος για να το δούμε. Ξεκινώντας από τα αριστερά, κάθε θέση αξίζει 1, 2, 4, 8, 16 και 32. Εάν η υποδοχή έχει δυαδικό αριθμό 1, προσθέτετε αυτήν την τιμή. εάν η υποδοχή έχει 0, λείπετε. Ο δυαδικός πίνακας 100110 στροφές 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 δεκαδικά + 4 + 0 + 0 + 32. Η κωδικοποίηση Base64 παίρνει αυτήν τη δυαδική συμβολοσειρά και τη διαιρεί σε τιμές 6-bit 38, 58, 11 και 41. Τέλος, αυτοί οι αριθμοί μετατρέπονται σε χαρακτήρες ASCII χρησιμοποιώντας τον πίνακα κωδικοποίησης Base64.