Tech Help
Το Base64 δεν είναι κρυπτογράφηση: τι κάνει πραγματικά
Το Base64 είναι κωδικοποίηση, όχι κρυπτογράφηση. Γιατί δεν κρύβει κωδικούς, γιατί μεγαλώνει και πώς το αποκωδικοποιείτε.
Το Base64 είναι κωδικοποίηση, όχι κρυπτογράφηση. Μετατρέπει δυαδικά δεδομένα σε μορφή κειμένου που μπορούν να αποθηκεύσουν ή να στείλουν συστήματα προσανατολισμένα στο κείμενο.
Όποιος έχει το κείμενο Base64 μπορεί συνήθως να το αποκωδικοποιήσει. Δεν χρειάζεται κωδικός ή μυστικό κλειδί.
Μην χρησιμοποιείτε Base64 για να προστατεύετε κωδικούς, κλειδιά API, διακριτικά πρόσβασης, ιδιωτικά μηνύματα ή άλλα μυστικά. Είναι εργαλείο αναπαράστασης, όχι μηχανισμός ασφαλείας.
Αν μια συμβολοσειρά φαίνεται μπερδεμένη, δεν σημαίνει ότι είναι κρυπτογραφημένη. Το Base64 αλλάζει μόνο πώς γράφονται τα byte ως κείμενο.
Τι κάνει πραγματικά το Base64;
Το Base64 κωδικοποιεί δυαδικά δεδομένα με περιορισμένο σύνολο ASCII: A–Z, a–z, 0–9, + και /. Μπορεί να εμφανιστεί γέμισμα = ώστε το μήκος εξόδου να μείνει πολλαπλάσιο του 4. Το γέμισμα δεν υπάρχει πάντα—σύντομες είσοδοι μπορεί να χρησιμοποιούν ένα ή δύο =, και κάποια μορφότυπα το παραλείπουν.
Hello
Hello
Base64
SGVsbG8=
Αποκωδικοποιήστε το SGVsbG8= και ξανά παίρνετε Hello. Αυτό το πήγαινε-έλα δεν θέλει κλειδί.
- Αρχικά δεδομένα
- Hello
- Κωδικοποίηση Base64
- SGVsbG8=
- Αποκωδικοποίηση Base64
- Hello
Base64 έναντι κρυπτογράφησης: ποια η διαφορά;
Το Base64 είναι για αναπαράσταση και συμβατότητα. Δεν κρύβει το περιεχόμενο. Η κρυπτογράφηση είναι για εμπιστευτικότητα και χρησιμοποιεί κρυπτογραφικό υλικό κλειδιού. Η αποκωδικοποίηση Base64 δεν είναι αποκρυπτογράφηση. Τα συστήματα δημόσιου κλειδιού χρησιμοποιούν επίσης κλειδιά· πείτε «κατάλληλο κρυπτογραφικό κλειδί», όχι «ένα κοινό μυστικό για κάθε είδος κρυπτογράφησης». Η κατακερματισμός είναι τρίτη ιδέα: σύνοψη, όχι αντιστρέψιμη κωδικοποίηση.
- Κωδικοποίηση
- Χωρίς μυστικό κλειδί
- Αντιστρέψιμο από οποιονδήποτε
- Κρυπτογράφηση
- Κρυπτογραφική προστασία
- Χρειάζεται το σωστό κλειδί για αποκρυπτογράφηση
Τρία διαφορετικά έργα:
| Μέθοδος | Κύριος σκοπός | Χρειάζεται μυστικό |
|---|---|---|
| Base64 | Κωδικοποίηση δεδομένων ως κείμενο | Όχι |
| Κρυπτογράφηση | Προστασία εμπιστευτικότητας | Ναι / υλικό κλειδιού |
| Κατακερματισμός | Μονόδρομη σύνοψη | Χωρίς αποκρυπτογράφηση |
Είναι ασφαλές το Base64;
Το Base64 από μόνο του δεν δίνει εμπιστευτικότητα. Το κείμενο μπορεί να φαίνεται αδιαφανές, αλλά αυτό δεν είναι χαρακτηριστικό ασφαλείας. Ένας συνηθισμένος αποκωδικοποιητής επαναφέρει τα byte. Αυτό δεν σημαίνει ότι «το Base64 είναι επισφαλές» ως τεχνολογία. Είναι κανονική κωδικοποίηση. Δεν είναι μηχανισμός ασφαλείας. Η ασφάλεια εξαρτάται από το περιβάλλον σύστημα και τους ελέγχους.
Μπορώ να κρύψω κωδικό ή κλειδί API με Base64;
Όχι, όχι ως προστασία. Η κωδικοποίηση κωδικού, κλειδιού API, διακριτικού πρόσβασης ή ιδιωτικών δεδομένων ως Base64 δεν τα προστατεύει. Όποιος πάρει τη συμβολοσειρά μπορεί συνήθως να την αποκωδικοποιήσει. Χρησιμοποιήστε πραγματική αποθήκευση μυστικών και κρυπτογράφηση όταν μετράει η εμπιστευτικότητα.
Γιατί χρησιμοποιείται το Base64 αν δεν είναι κρυπτογράφηση;
Συστήματα που περιμένουν κείμενο συχνά δεν μπορούν να μεταφέρουν ακατέργαστο δυαδικό. Το Base64 χρησιμοποιείται για να αναπαραστήσει δυαδικό σε μορφές κειμένου, να ενσωματώσει μικρούς δυαδικούς πόρους, να μετακινήσει byte μέσω καναλιών μόνο κειμένου, να χτίσει Data URL, να εμφανιστεί σε κάποια περιβάλλοντα email/MIME και να γεμίσει φορτία API όταν το σχήμα ζητά Base64. Τα API δεν το χρησιμοποιούν «για ασφάλεια». Το χρησιμοποιούν για συμβατότητα.
Γιατί το Base64 μεγαλώνει τα δεδομένα;
Το τυπικό Base64 με γέμισμα αντιστοιχίζει 3 byte εισόδου σε 4 χαρακτήρες. Το μήκος είναι 4 × ceil(n / 3), όπου n είναι ο αριθμός byte εισόδου. Τρία byte γίνονται 4 χαρακτήρες· έξι γίνονται 8. Αυτό είναι περίπου 33% μεγαλύτερο—περίπου το ένα τρίτο—για μεγάλο ακατέργαστο φορτίο. Μικρές είσοδοι μπορεί να φαίνονται διαφορετικές λόγω γεμίσματος: ένα byte γίνεται QQ== (4 χαρακτήρες). Εισαγωγικά JSON, πρόθεμα Data URL, συμπίεση ή επιπλέον κωδικοποίηση μεταφοράς μπορούν να αλλάξουν περαιτέρω το αποθηκευμένο ή σταλμένο μέγεθος. Το Base64 δεν συμπιέζει δεδομένα.
Τι είναι το Base64URL;
Το Base64URL είναι παραλλαγή της ίδιας κωδικοποίησης ασφαλής για URL και ονόματα αρχείων—όχι κρυπτογράφηση. Το + γίνεται -, το / γίνεται _ και το γέμισμα συχνά παραλείπεται. Το Κωδικοποίηση Base64 μπορεί να κωδικοποιήσει και να αποκωδικοποιήσει τυπικό Base64 και Base64URL. Οι κανόνες γεμίσματος εξαρτώνται από την προδιαγραφή. Αυτό το εργαλείο δεν είναι αποκωδικοποιητής JWT.
Μπορεί το Base64 να κωδικοποιήσει εικόνες και αρχεία;
Ναι. Εικόνες, PDF και άλλα δυαδικά αρχεία μπορούν να γίνουν αναπαράσταση κειμένου Base64. Το Base64 δεν συμπιέζει αυτά τα αρχεία. Το κωδικοποιημένο κείμενο είναι συνήθως μεγαλύτερο από τα ακατέργαστα byte.
Τι είναι ένα Data URL Base64;
Ένα Data URL μπορεί να συγκεντρώσει τύπο μέσου, σήμα κωδικοποίησης και κωδικοποιημένα byte σε μία συμβολοσειρά:
data:image/png;base64,...
Είναι βολικό για μικρά στοιχεία. Το να βάλετε μεγάλο αρχείο σε Data URL δεν είναι πάντα καλή ιδέα: η συμβολοσειρά μεγαλώνει και οι σελίδες μπορεί να αργήσουν. Αντιμετωπίστε το ως συμβιβασμό, όχι ως προεπιλογή.
Κωδικοποίηση έναντι κρυπτογράφησης έναντι κατακερματισμού
Η κωδικοποίηση (συμπεριλαμβανομένου του Base64) είναι για αναπαράσταση και αντιστρέφεται χωρίς μυστικό. Η κρυπτογράφηση είναι για εμπιστευτικότητα και περιλαμβάνει κρυπτογραφικό υλικό κλειδιού. Ο κατακερματισμός παράγει σύνοψη που γενικά σχεδιάζεται ως μονόδρομη. Το μήκος εξόδου εξαρτάται από τον αλγόριθμο—SHA-256 και SHA-512 δεν έχουν το ίδιο μέγεθος. Το Δημιουργία hash SHA μπορεί να δείξει αυτές τις συνόψεις· δεν κρυπτογραφεί και δεν αντικαθιστά το Base64.
Συνηθισμένα λάθη με Base64
Να θεωρείτε το Base64 κρυπτογράφηση
Αλλάζει μόνο πώς φαίνονται τα byte ως κείμενο.
Να αποθηκεύετε μυστικά ως απλό Base64
Η κωδικοποιημένη τιμή αποκωδικοποιείται από όποιον την έχει.
Να υποθέτετε ότι το Base64 συμπιέζει δεδομένα
Δεν συμπιέζει. Η μορφή κειμένου είναι συνήθως μεγαλύτερη.
Να ξεχνάτε την αύξηση μεγέθους
Προγραμματίστε περίπου ένα τρίτο παραπάνω σε μεγάλα ακατέργαστα φορτία.
Να μπερδεύετε Base64 με Base64URL
Τα αλφάβητα διαφέρουν. Ο αποκωδικοποιητής μπορεί να απορρίψει τη λάθος παραλλαγή.
Αποκωδικοποίηση με λάθος κωδικοποίηση χαρακτήρων
Το Base64 επαναφέρει byte. Το κείμενο χρειάζεται ακόμη την αντίστοιχη κωδικοποίηση, συνήθως UTF-8.
Να υποθέτετε ότι το = εμφανίζεται πάντα
Το γέμισμα χρησιμοποιείται όταν χρειάζεται. Κάποιες συμβολοσειρές δεν έχουν.
Γιατί το κείμενο Unicode μπορεί να προκαλέσει προβλήματα με Base64;
Το Base64 λειτουργεί σε byte, όχι σε χαρακτήρες. Το κείμενο πρέπει πρώτα να γίνει byte—συνήθως UTF-8. Κορεατικά, ιαπωνικά, αραβικά και emoji χρειάζονται αυτό το βήμα. Το btoa() του προγράμματος περιήγησης σε συμβολοσειρά Unicode μπορεί να αποτύχει. Το Κωδικοποίηση Base64 κωδικοποιεί byte UTF-8, οπότε αυτό το κείμενο πηγαίνει και έρχεται. Αν αποκωδικοποιήσετε με λάθος σύνολο χαρακτήρων, το Base64 μπορεί να είναι έγκυρο και τα γράμματα να φαίνονται ακόμα λάθος.
Το Base64 δεν δίνει εμπιστευτικότητα. Όποιος έχει την κωδικοποιημένη τιμή μπορεί συνήθως να την αποκωδικοποιήσει. Μην αντιμετωπίζετε μπερδεμένο κείμενο ως προστατευμένο μυστικό.
Κωδικοποιήστε ή αποκωδικοποιήστε Base64 στο πρόγραμμα περιήγησης
Το NEXNARA Κωδικοποίηση Base64 μετατρέπει κείμενο UTF-8 και αρχεία τοπικά.
Μπορείτε να κωδικοποιήσετε ή να αποκωδικοποιήσετε τυπικό Base64 και Base64URL, να κάνετε αρχείο ακατέργαστο Base64 ή Data URL και να επιστρέψετε Base64 ή Data URL σε λήψη. Άκυρη είσοδος απορρίπτεται αντί να καταρρεύσει. Τα κενά αγνοούνται· το ελλείπον γέμισμα συμπληρώνεται.
Αρχεία πάνω από 10 MB μπορεί να επιβραδύνουν την καρτέλα. Αρχεία πάνω από 32 MB δεν επεξεργάζονται στο πρόγραμμα περιήγησης.
Η ίδια η επεξεργασία Base64 γίνεται στο πρόγραμμα περιήγησής σας. Το κείμενο ή το αρχείο δεν στέλνεται σε διακομιστή NEXNARA για αυτό το εργαλείο. Διαφημίσεις και άλλες λειτουργίες του ιστότοπου εξακολουθούν να χρησιμοποιούν το δίκτυο· αυτό είναι χωριστό από την επεξεργασία.
Χρειάζεστε κωδικοποίηση ή αποκωδικοποίηση Base64; Ανοίξτε το Κωδικοποίηση Base64 και επικολλήστε το κείμενο ή αφήστε ένα αρχείο.
FAQ
Είναι το Base64 κρυπτογράφηση;
Όχι. Το Base64 είναι κωδικοποίηση. Αλλάζει την αναπαράσταση. Δεν προστατεύει την εμπιστευτικότητα.
Είναι ασφαλές το Base64;
Το Base64 δεν είναι μηχανισμός ασφαλείας. Είναι κανονική κωδικοποίηση. Όποιος έχει το κείμενο μπορεί συνήθως να το αποκωδικοποιήσει. Η ασφάλεια εξαρτάται από το υπόλοιπο σύστημα.
Μπορεί το Base64 να αποκωδικοποιηθεί χωρίς κωδικό;
Ναι. Αρκεί ένας τυπικός αποκωδικοποιητής. Το ίδιο το Base64 δεν θέλει κωδικό ή μυστικό κλειδί.
Γιατί το Base64 αυξάνει το μέγεθος αρχείου;
Κάθε 3 byte γίνονται 4 χαρακτήρες στο τυπικό Base64 με γέμισμα (μήκος 4 × ceil(n / 3)). Αυτό είναι περίπου 33% περισσότερο για μεγάλο ακατέργαστο φορτίο. Το γέμισμα μπορεί να αλλάξει την αναλογία σε πολύ μικρές εισόδους.
Ποια η διαφορά μεταξύ Base64 και Base64URL;
Το Base64URL χρησιμοποιεί - και _ αντί για + και / και συχνά παραλείπει το γέμισμα =. Και τα δύο είναι κωδικοποιήσεις. Το Κωδικοποίηση Base64 υποστηρίζει και τα δύο αλφάβητα.
Μπορεί το Base64 να κωδικοποιήσει εικόνες και αρχεία;
Ναι. Το αποτέλεσμα είναι κείμενο, όχι μικρότερο αρχείο. Χρησιμοποιήστε τη λειτουργία αρχείου στο Κωδικοποίηση Base64 για ακατέργαστο Base64 ή Data URL. Το αρχείο μένει στο πρόγραμμα περιήγησης.