Θέλετε να κωδικοποιήσετε ένα μήνυμα ή ένα αρχείο σε κάποια μορφή όχι και τόσο ευανάγνωστη για "ξένα μάτια"; Εχετε λάβει ένα email με συνημμένα αρχεία και θέλετε να το ανοίξετε από τη γραμμή εντολών και να δείτε τα συνημμένα αρχεία; Και τα δύο γίνονται στο Linux με την εντολή base64.
Το base64 είναι ένα προγραμματάκι, μέρος του πακέτου coreutils σε Debian/Ubuntu, το οποίο κωδικοποιεί ή αποκωδικοποιεί binary δεδομένα (π.χ. εικόνες) μεταφράζοντας τα σε κείμενο ASCII αλλά σε radix-64 αναπαράσταση. Να πως γίνεται η κωδικοποίηση με απλά λόγια:
Κάθε αρχικό γράμμα ή σύμβολο αντιστοιχίζεται στον ASCII κωδικό του, που με τη σειρά του αντιστοιχίζεται στο δυαδικό του αντίστοιχο 8μπιτο αριθμό και τέλος, συνεχόμενες τριάδες τέτοιων 8-μπιτων αριθμών δημιουργούν ένα 24μπιτο αριθμό ο οποίος σπάει σε 4 εξάδες (6-bit) από αριστερά προς τα δεξιά. Κάθε μια εξάδα αντιστοιχεί σε έναν από τους 2^6 = 64 δυνατούς αριθμούς ο οποίος τέλος μεταφράζεται σε ένα από τα 64 σύμβολα του Base64 (συνήθως a-z, A-Z, 0-9, +, = και /).
ΟΚ, μετά από αυτή τη σύντομη μα και ανιαρή μαθηματική εξήγηση ας δούμε πως δουλεύει. Δίνουμε την εντολή base64 στο τερματικό και γράφουμε ότι μήνυμα θέλουμε. Μετά πατάμε Ctrl+D για να πάρουμε το κωδικοποιημένο μήνυμα:
dimitris@work:~$ base64 linuxinsider.gr is nice bGludXhpbnNpZGUuZ3IgaXMgbmljZQo=
Το bGludXhpbnNpZGUuZ3IgaXMgbmljZQo= είναι το κωδικοποιημένο μας μήνυμα. Το στέλνουμε σε κάποιον άλλον ο οποίος το αποκωδικοποιεί και το διαβάζει ως εξής:
dimitris@work:~$ base64 -d bGludXhpbnNpZGUuZ3IgaXMgbmljZQo= linuxinsider.gr is nice
Το ωραίο είναι ότι μπορούμε να κωδικοποιήσουμε ολόκληρο αρχείο ως εξής:
dimitris@work:~$ base64 test.txt > test.base64
Το παραγόμενο αρχείο test.base64 θα είναι σε ascii μορφή. Παρόμοια για μια εικόνα:
dimitris@work:~$ base64 linuxinside-logo.png > linuxinside.base64
To αρχείο linuxinside.base64 περιέχει τώρα τα εξής:
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
Αν αντιγράψατε όλο αυτό το κατεβατό σε ένα αρχείο txt (π.χ. test.txt) στον υπολογιστή σας, μπορείτε να το αποκωδικοποιήσετε με την εντολή: base64 -d test.txt > linuxinside-logo.png Και θα δείτε ότι η νέα εικόνα linuxinside-logo.png που θα δημιουργηθεί στον ίδιο φάκελο θα είναι ιδια ακριβώς με το λογότυπο του linuxinsider.gr.... Καλό; Αν δεν το γνωρίζετε (αλλά πρέπει να μάθετε αφού διαβάζετε το Linuxinsider.gr), το base64 είναι ο εξορισμού τρόπος μεταφοράς αρχείων μέσω email. Μάλιστα. Για διάφορους λόγους, όταν στέλνουμε ένα συνημμένο αρχείο σε κάποιον παραλήπτη, δεν στέλνουμε ποτέ το ίδιο το αρχείο ή κάποιο αντίγραφό του αλλά στην πραγματικότητα ο mail client που χρησιμοποιούμε μετατρέπει το αρχείο σε base64 ascii μορφή (όπως το παραπάνω μακρυνάρι) και έπειτα το στέλνει αυτούσιο μέσα στο email μας μαζί με χρήσιμες επικεφαλίδες της μορφής:
Content-Type: image/jpeg; name="filefoo.jpg" Content-Description: filefoo.jpg Content-Disposition: attachment; filename="filefoo.jpg"; size=46015; creation-date="Tue, 15 Jul 2014 11:13:40 GMT"; modification-date="Tue, 15 Jul 2014 11:13:40 GMT" Content-Transfer-Encoding: base64
και έπειτα ακολουθεί το... base64 μακρυνάρι με το αρχείο μας:
XuqTGXZJ33wg2TTx63gakGsB/HIEPDnOLQe6pLhg4jesNwDgtR/i0Xqv0kWE4F4pPPEVpRpr5m3n 8qkL3FmS5L9vWiLOB9EpRDgbwFeHDSS1/h+kk3qGwYn+NodT4TZxhWvnglSCyNU4xcfwxYBQMoMH LhiLFfrYcjJp5aSQLkiDxw+544qYGS+88ALefvvtcvZDQ0TAqWgPSacfIra3d0HhQu4qmASMPCjV k4Idbr0Pwzh8YLiMGfFJ38A6ALhgIayNS9BJhKNBe5Vk+XsA84gQVICnNi4VqyTojjdfclZc8DDk AeWoNMsQM+IuRAAwfQEyG5fyaoBO20uFn156642oSn5TlRFHDBw+rIokLE047NCAEHK19ofrXglA iGI7iZT+NpMSZPjqCMdmtuEvna/gz68rOG3mzPIYosH5dW5I3A2HZzIZrFixopwBIYTAuNYwiA2A uKiWdkWgoQIulAIkbqDEDYNLCzA1QjouuK/XQ5D2lYMimCNj8nhCfGBFY3sPElEGWDLjXFsXUxxi .... .... zCOCQqCTFeB3H5khXvnbyfL84/4NWw/ggyNcCl7Fq9TwXtBeX093Xj2bge5dj2HvBUiQuh9sqhUn 2d9PI/vdp/LBHUCW3DuWJZgEILylKF7QwUVju7FqUwS/ePBBRCMRjB8/HuPGjSuv4ieEQKFQKC9v 2d7ejkwmM2CySFVVccZHm2AWeqD4+svlqqQslZFKjjCL/ovjtqUsjZBOCO7r88g1Cc+Z85aufVEI eKWEM+gRcYA5Ymu49zl9IXTAuerdpVissHIdCFcQECCij4VI3AvIOQdOkZADECOgoUr9bthrUIEM AQ3MSLd93RmzX8LfYDNCtqGyWgGp+5yWA0Ph7pmy0w8
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε