Κωδικοποιητής Base64 / Αποκωδικοποιητής Base64 Online
Χρειάζεστε να μετατρέψετε ευανάγνωστο κείμενο σε μορφή Base64 για χρήση σε κεφαλίδες HTTP, ή αντίστροφα, να αποκρυπτογραφήσετε το περιεχόμενο ενός διακριτικού API; Ο Κωδικοποιητής & Αποκωδικοποιητής Κειμένου Base64 μας είναι ένα εξειδικευμένο εργαλείο για την εργασία με συμβολοσειρές κειμένου, το οποίο μπορεί να χειριστεί ακόμη και πολυπλοκότητες, όπως διακριτικά ή ειδικούς χαρακτήρες.
Εργάζεστε με εικόνες;
Εάν ο κώδικάς σας ξεκινά μεdata:image/png...ή θέλετε να μετατρέψετε ένα αρχείο σε κείμενο, αυτό το εργαλείο θα εμφανίσει μόνο ακατάληπτους χαρακτήρες. Χρησιμοποιήστε το εξειδικευμένο εργαλείο μας για μετατροπή σε εικόνα.
Πώς λειτουργεί η μορφή Base64;
Πολλοί άνθρωποι χρησιμοποιούν το Base64 καθημερινά, αλλά λίγοι γνωρίζουν πώς λειτουργεί “κάτω από την κουκούλα”. Δεν είναι μαγεία, αλλά απλή μαθηματική των δυαδικών ψηφίων (bits).
Το συνηθισμένο κείμενο σε έναν υπολογιστή αποθηκεύεται σε 8-bit (1 byte). Ωστόσο, το Base64 χρησιμοποιεί ένα “αλφάβητο” 64 χαρακτήρων (A-Z, a-z, 0-9, +, /). Επειδή 2^6 = 64, ένας χαρακτήρας Base64 αντιπροσωπεύει ακριβώς 6 bits πληροφορίας.
Διαδικασία μετατροπής (Αλγόριθμος):
- Λαμβάνονται τρεις χαρακτήρες του κειμένου σας (3 × 8 bits = 24 bits).
- Αυτά τα 24 bits χωρίζονται σε τέσσερις ομάδες των 6 bits.
- Σε κάθε ομάδα αντιστοιχίζεται ένας χαρακτήρας από τον πίνακα Base64.
Συνέπεια: Επειδή μετατρέπουμε 3 χαρακτήρες σε 4 χαρακτήρες, η προκύπτουσα συμβολοσειρά Base64 είναι πάντα περίπου 33% μεγαλύτερη από το αρχικό κείμενο.
Το πρόβλημα της κωδικοσελίδας: Γιατί οι κοινοί μετατροπείς Base64 καταστρέφουν τα ελληνικά;
Εάν προσπαθήσατε ποτέ να κωδικοποιήσετε τη λέξη “Kůň” (ή οποιαδήποτε λέξη με διακριτικά) στην κονσόλα του προγράμματος περιήγησης χρησιμοποιώντας τη συνάρτηση btoa('Kůň'), πιθανότατα λάβατε ένα σφάλμα: String contains characters outside of the Latin1 range.
Το Base64 αρχικά σχεδιάστηκε για χαρακτήρες ASCII 7-bit. Ωστόσο, τα ελληνικά, τα emojis και άλλα ειδικά σύμβολα (UTF-8) καταλαμβάνουν περισσότερα bytes στη μνήμη (πολυψήφιοι χαρακτήρες).
- Γράμμα
a= 1 byte. - Γράμμα
ά= 2 bytes. - Emoji 🚀 = 4 bytes.
Το εργαλείο μας λύνει αυτό το πρόβλημα. Πριν από την ίδια την κωδικοποίηση σε Base64, μετατρέπουμε σωστά το κείμενο σε μια ακολουθία bytes UTF-8. Χάρη σε αυτό, μπορείτε να κωδικοποιήσετε με ασφάλεια αντικείμενα JSON, ελληνικά κείμενα και σύγχρονα σύμβολα χωρίς τον κίνδυνο καταστροφής δεδομένων.
Πού χρησιμοποιείται η κωδικοποίηση κειμένου Base64;
Ενώ οι εικόνες σε Base64 χρησιμοποιούνται κυρίως για ενσωμάτωση σε CSS/HTML, το κείμενο Base64 έχει εντελώς διαφορετικές χρήσεις σε συστήματα backend:
1. Βασική Αυθεντικοποίηση HTTP
Όταν συνδέεστε σε ένα API, η κεφαλίδα συχνά μοιάζει έτσι:
Authorization: Basic dXppdmF0ZWw6aGVzbG8=
Πίσω από αυτόν τον κώδικα κρύβεται ένα απλά συνδεδεμένο όνομα χρήστη και κωδικός πρόσβασης σε μορφή χρήστης:κωδικός. Το εργαλείο μας σας επιτρέπει να δημιουργήσετε ή να ελέγξετε εύκολα αυτές τις κεφαλίδες.
2. JSON Web Tokens (JWT)
Οι σύγχρονες εφαρμογές web χρησιμοποιούν τα λεγόμενα JWT για σύνδεση. Ένα τέτοιο διακριτικό μοιάζει με τρεις μακρές συμβολοσειρές που διαχωρίζονται με τελεία. Το τμήμα δεδομένων (Payload) είναι ένα απλό αντικείμενο JSON κωδικοποιημένο σε Base64.
- Συμβουλή: Δοκιμάστε να επικολλήσετε το μεσαίο τμήμα του διακριτικού JWT εδώ και να το αποκωδικοποιήσετε. Θα δείτε ακριβώς ποια δεδομένα καταγράφει η εφαρμογή για εσάς (π.χ. αναγνωριστικό χρήστη, λήξη).
3. Αρχεία Διαμόρφωσης (Μυστικά Kubernetes)
Πλατφόρμες όπως το Kubernetes αποθηκεύουν μυστικά δεδομένα (Secrets) σε αρχεία διαμόρφωσης YAML ακριβώς σε Base64. Δεν πρόκειται για κρυπτογράφηση, αλλά για έναν τρόπο αποθήκευσης δυαδικών δεδομένων ή κειμένου με προβληματικούς χαρακτήρες (νέες γραμμές, εισαγωγικά) σε ένα αρχείο κειμένου.
Τι είναι η “κωδικοποίηση Base64 ασφαλής για URL” και γιατί έχει σημασία;
Το τυπικό αλφάβητο Base64 περιέχει τους χαρακτήρες + (συν) και / (πλάγια γραμμή). Και οι δύο αυτοί χαρακτήρες έχουν ειδική σημασία στις διευθύνσεις URL:
/διαχωρίζει καταλόγους.+συχνά ερμηνεύεται ως κενό.
Εάν στέλνατε ένα τυπικό Base64 σε μια παράμετρο URL (π.χ. site.com?token=ab/cd+ef), ο διακομιστής θα μπορούσε να διαβάσει τα δεδομένα λανθασμένα.
Λύση (Λειτουργία ασφαλής για URL): Ο διακόπτης μας ενεργοποιεί την παραλλαγή Base64URL (σύμφωνα με το RFC 4648), η οποία πραγματοποιεί αυτές τις αλλαγές:
- Το
+αλλάζει σε-(παύλα). - Το
/αλλάζει σε_(κάτω παύλα). - Στο τέλος, αφαιρούνται οι χαρακτήρες
=(επένδυση), οι οποίοι δεν είναι απαραίτητοι στις URL.
Μύθος: Το Base64 δεν είναι κρυπτογράφηση!
Είναι σημαντικό να κατανοήσουμε μια θεμελιώδη διαφορά που συχνά μπερδεύουν οι αρχάριοι:
- Κωδικοποίηση (Encoding - Base64): Χρησιμεύει για τη μεταφορά δεδομένων. Είναι σαν να πακετάρεις κάτι σε μια βαλίτσα για να μην σπάσει στο δρόμο. Όποιος βρει τη βαλίτσα μπορεί να την ανοίξει (αποκωδικοποιήσει) και να δει το περιεχόμενο. Δεν είναι ασφαλές για εμπιστευτικά δεδομένα.
- Κρυπτογράφηση (Encryption - AES, RSA): Κλειδώνει δεδομένα με ένα κλειδί. Χωρίς το κλειδί, δεν μπορείτε να αποκτήσετε πρόσβαση στο περιεχόμενο.
- Κατακερματισμός (Hashing - SHA, MD5): Μια μονόδρομη διαδικασία (π.χ. για αποθήκευση κωδικών πρόσβασης). Δεν μπορείτε να ανακτήσετε το αρχικό κείμενο από το αποτέλεσμα.
Εάν πρέπει να στείλετε έναν κωδικό πρόσβασης ή ευαίσθητα δεδομένα, το Base64 από μόνο του δεν αρκεί. Πρέπει να χρησιμοποιήσετε HTTPS (SSL/TLS), το οποίο κρυπτογραφεί τη μεταφορά.