Base64 adalah salah satu metode pengkodean yang paling umum di jaringan untuk mengirimkan kode byte 8bit. Anda dapat memeriksa RFC2045 ~ RFC2049, yang berisi spesifikasi MIME terperinci. Pengkodean BASE64 dapat digunakan untuk melewati informasi identifikasi yang lebih lama di lingkungan HTTP. Misalnya, dalam sistem persistensi java hibernate, base64 digunakan untuk menyandikan pengidentifikasi unik yang panjang (biasanya UUID 128-bit) ke dalam string, yang digunakan sebagai parameter dalam bentuk HTTP dan URL mendapatkan HTTP. Dalam aplikasi lain, sering kali perlu mengkodekan data biner ke dalam bentuk yang cocok untuk penempatan dalam URL (termasuk bidang bentuk tersembunyi).
Pada saat ini, pengkodean Base64 tidak hanya pendek, tetapi juga tidak dapat dibaca, yaitu, data yang dikodekan tidak akan secara langsung dilihat oleh mata telanjang.
Ada banyak cara untuk mengenkripsi Java. Sekarang saya akan berbagi dengan Anda metode enkripsi base64.
paket com.crypt; impor sun.misc.base64decoder; impor sun.misc.base64encoder;/** * enkripsi base64 dan dekripsi * @author yuanwei */kelas publik base64 {/** * Base64 Decrypt * * @param Key * @return * @THrows Exception */Public Static Byte (Public Byte (Public Byte (] @param Key * @return * @THrows Exception */Public Static Byte [Public Byte [Public Byte (Public Byte [ Base64decoder ()). DecodeBuffer (key); } / ** * enkripsi base64 * * @param Key * @return * @throws Exception * / Public Static String EncryptBase64 (byte []) melempar Exception {return (base64Encoder baru ()). EncodeBuffer (key); }}Mengapa Menggunakan Enkripsi Base64?
Peran Pengkodean Base64: Karena beberapa sistem hanya dapat menggunakan karakter ASCII. Base64 adalah metode yang digunakan untuk mengonversi data dari karakter non-ASCII menjadi karakter ASCII. Ini menggunakan karakter dan pengkodean yang digunakan dalam tabel di bawah ini.
Selain itu, Base64 sangat cocok untuk mengirimkan data dengan cepat di bawah protokol HTTP dan MIME.
Base64 sebenarnya bukan algoritma enkripsi dan dekripsi di bidang keamanan. Meskipun kadang-kadang Anda sering melihat apa yang disebut enkripsi dan dekripsi Base64. Faktanya, Base64 hanya dapat dianggap sebagai algoritma pengkodean, mengkodekan konten data yang sesuai untuk transmisi. Meskipun teks asli menjadi format karakter yang tidak dapat dilihat setelah pengkodean base64, metode ini sangat mendasar dan sederhana.
Metode pengkodean base64 membutuhkan konversi setiap tiga byte 8bit menjadi empat byte 6bit. Di antara mereka, setiap 6 bit yang valid dari empat byte setelah konversi adalah data yang valid, dan dua bit cadangan dilengkapi dengan 0 untuk menjadi satu byte. Oleh karena itu, redundansi data yang disebabkan oleh Base64 tidak terlalu serius. Base64 adalah metode pengkodean yang populer saat ini karena cepat dan sederhana untuk kode.
Suplemen Pengetahuan:
Basis Standar64 tidak cocok untuk transmisi langsung dalam URL, karena encoder URL akan mengubah karakter "/" dan "+" dalam basis standar64 menjadi bentuk seperti "%xx", dan angka "%" ini perlu dikonversi ketika disimpan dalam database, karena angka "%" telah digunakan sebagai wildcard di ANSI SQL.
Untuk mengatasi masalah ini, pengkodean base64 yang ditingkatkan untuk URL dapat digunakan. Itu tidak mengisi angka '=' di akhir, dan mengubah "+" dan "/" di basis standar64 menjadi "*" dan "-" masing-masing, yang menghilangkan konversi yang diperlukan selama pengkodean dan decoding dan penyimpanan basis data, menghindari peningkatan panjang informasi pengkodean dalam proses ini, dan menyatukan formasi objek-objek dari objek-objek di datab, dll.
Ada varian Base64 yang lebih baik untuk ekspresi reguler, yang mengubah "+" dan "/" to "!" dan "-", karena "+", "*" dan "[" dan "]" yang digunakan dalam IRCU mungkin memiliki makna khusus dalam ekspresi reguler.
Ada juga beberapa varian yang mengubah "+/" menjadi "_-" atau "._" (digunakan sebagai nama pengidentifikasi dalam bahasa pemrograman) atau ".-" (Digunakan untuk nmtoken dalam xml) atau bahkan "_:" (digunakan untuk nama dalam XML).
Base64 membutuhkan konversi setiap tiga byte 8bit menjadi empat byte 6bit (3*8 = 4*6 = 24), dan kemudian menambahkan dua 0s tinggi ke 6bit untuk membentuk empat byte 8bit. Dengan kata lain, string yang dikonversi secara teoritis akan 1/3 lebih lama dari yang asli.
Di atas adalah semua tentang algoritma Base64 dan Base64. Saya berharap ini akan membantu enkripsi dan dekripsi pembelajaran semua orang.