Teknik encoding Base64 sebenarnya sederhana, jika ada satu senarai (string)
bytes yang akan disandikan ke Base64 maka caranya adalah :
1. Pecah string bytes tersebut ke per-3 bytes.
2. Gabungkan 3 bytes menjadi 24 bit. Ingat 1 bytes = 8 bit, sehingga 3 x 8 = 24
bit.
3. Lalu 24 bit yang disimpan dibufferkan (disatukan) dipecah – pecah menjadi 6
bit – 6 bit, maka akan menghasilkan 4 pecahan.
4. Masing – masing pecahan diubah kedalam nilai decimal, dimana maksimal nilai
6 bit adalah 63.
5. Terakhir, jadikan nilai – nilai decimal tersebut menjadi indeks untuk
memilih karakter penyusun dari base64 dan maksimal adalah 63 atau indeks ke 64.
Dan seterusnya sampai akhir string bytes yang mau
kita konversikan.
Jika ternyata dalam proses encoding terdapat sisa pembagi, maka tambahkan
sebagai penggenap sisa tersebut karakter ‘=’. Maka terkadang pada base64 akan
muncul satu atau dua karakter ‘=’.
Contoh :
(disini saya contohkan dengan data Teks walaupun manfaat utamanya adalah
untuk data binari, tapi ini biar mudah dipahami)
Ada data teks :
Harga BBM Naik
diencoding akan menghasilkan :
SGFyZ2EgQkJNIE5haWs=
bagaimana cara bekerjanya :
1. Pecah string bytes tersebut ke per-3 bytes.
Pertama dapatkan dulu nilai bytes dari data teks tersebut. (Ingat Base64
Encoding adalah operasi manipulasi bit)
“Harga BBM Naik” nilai ASCI nya adalah :
72, 97, 114, 103, 97, 32, 66, 66, 77, 32, 78, 97, 105, 107
Lalu pecah per 3 bytes.
72,97,114 – 103,97,32 – 66,66,77 – 32,78,64 – 105,107
untuk memudahkan membaca bit datanya, kita konversi nilai decimal ini ke
nilai hexa. Gunakan kalkulator Dec2Hex. Sekarang Linux dan Windows sudah
memiliki kalkulator ini.
72,97,114 = 0×48,0×61,0×72
Lalu kita pisahkan angkanya satu persatu dan ubah masing – masing angka
menjadi nilai biner lalu digabung menjadi 24 bit.
0×48,0×61,0×72 = 4 & 7, 6 & 1, 7 & 2 =
0100-1000,0110-0001,0111-0010
Hasilnya :
Har = 72,97,114 = 01001000,01100001,01110010
Nah sekarang kita sudah mendapatkan string bytes (data binari) dari data
teks “Har”
2. Gabungkan 3 bytes menjadi 24 bit.
01001000,01100001,01110010 = 010010000110000101110010
3. Pecah menjadi 6 bit – 6 bit dan akan menghasilkan 4 pecahan.
010010000110000101110010 = 010010,000110,000101,110010
4. Masing – masing pecahan (adalah nilai octal) diubah kedalam nilai
decimal.
010010,000110,000101,110010 = 18,6,5,50
kita dapat nilai (decimal) untuk “Har” =18,6,5,50
5. Jadikan nilai – nilai tersebut menjadi indeks
untuk memilih karakter penyusun dari base64
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
dimana [A = 0], maka atau Base64Char[0] = “A”
18 = S, 6 = G, 5 = F, 50 = y
sehingga,
“Har” = “SGFy”
Jadi bisa dipahami, bahwa setiap 3 bytes data akan menghasilkan 4 bytes data
artinya 4/3 (33%) lebih banyak.
“ga ” = “Z2Eg” (spasi termasuk 1 karakter )
Dan lakukan seterusnya seperti diatas untuk 3 bytes berikutnya.
Nah yang “ik” ini tidak genap 3 bytes ini yang dinamakan terjadi “pad”.
105,107 = 01101001,01101011 = 011010,010110,1011
011010,010110,1011 + 00 = 011010,010110,101100 = 26,22,44
“ik” = “aWs”
lalu tambahkan “ = ” sebagai penggenap sehingga lengkapnya ->
SGFyZ2EgQkJNIE5haWs=
Dengan ini kita sekrang bisa paham bahwa operasi yang dilakukan adalah
operasi binner yang diubah ke data teks.
Dan inilah cara kerja yang dinamakan Base64Encode.
Ada beberapa modifikasi dari Base64Encode ini khususnya pada karakter “+/”
contohnya urlbase64encode dimana “+” diubah menjadi “-” dan
“/” menjadi “_” serta dihilangkannya “=”, tujuan penggantian ini disebabkan
pada URL karakter “+” akan diubah menjadi “‘%2B” dan “/” menjadi “%2F” sehingga
bisa merubah makna.
Analisa Saya :
Menurut pandangan saya tentang base64 adalah salah satu tekhnik kriptografi yang tujuannya adalah membuat suatu kata ataupun karakter dirubah kedalam bentuk kode atau sandi yang tujuannya supaya tidak mudah dibaca sama orang lain.
Pages
Cara Kerja Base64 Encoding
Diposting oleh
enjang_heri
Selasa, 12 November 2013
Sumber :
Langganan:
Posting Komentar (Atom)
Blog Subscription
Search this blog
gunadarma university
Popular Posts
-
Biasanya, perusahaan konvensional yang berniat mengimplementasikan e-commerce secara alami akan melalui beberapa tahapan. Berikut tahapan –...
-
Pengertian Etika Dalam Kamus Besar Bahasa Indonesia disebutkan, bahwa etika berarti ilmu tentang apa yang baik dan tentang apa yang buruk...
-
Sebuah perusahaan transportasi swasta asal Amerika, SkyTran, akan membuat pilot project jalan gantung untuk kendaraan guna mengatasi ke...
-
Dalam Alquran, tahun penanggalan yang berhubungan dengan orbit Bulan keliling Bumi dan orbit Bumi keliling Surya dinamakan dengan SANAH ...
-
Generalisasi adalah penalaran induktif dengan cara menarik kesimpulan secara umum berdasarkan sejumlah data. Jumlah data atau peristiwa...
-
I.Latar Belakang Sepakbola merupakan salah satu olahraga yang paling populer di dunia.Adalah suatu hal yang wajar jika kejuaraan sepakbola ...
-
Bagi kalian yang sering menggunakan komputer, pernahkah mengamati susunan huruf yang tertera pada keyboard tersebut? Coba deh kalia...
-
Di tugas softskil kali ini saya akan bercerita tentang pengalaman saya waktu jalan-jalan ke gunung tangkuban perahu. Liburan yang tepatn...
-
Prof. Leopold Werner Van Ehrenfels (seorang psikiater dan sekaligus neurology) berkebangsaan Austria, menemukan fakta yang sangat me...
-
Tembok Raksasa Cina sudah ada sejak ratusan tahun. Panjangnya mencapai 8.851 km. Telah menarik perhatian peneliti mengapa tembok...
Blog Archive
-
▼
2013
(143)
-
▼
November
(26)
- Sejarah Susunan Keyboard QWERTY
- Penyebab Jatuhnya Blackberry
- Menjalankan Aplikasi dan Games Android di PC denga...
- Keunggulan Android dibanding OS lain
- Mengapa Mesin Mobil Yang Mati di Rel Kereta Api Su...
- Perbedaan dan Persamaan Hacker dengan Cracker
- Perbedaan XML dan HTML
- Apa itu Kriptografi?
- Mengenal PIN BlackBerry
- Cara Kerja Base64 Encoding
- Mengenal Base64 Encoding
- Bagaimana Menghapus Nama Anda dari Dunia Internet?
- Fakta Mengejutkan Tentang Wudhu
- Dokumen Rahasia Amerika Akan Hancurkan Makkah Dan ...
- Ternyata Iblis Di Balik Desain Sajadah Yang Besar
- Bahaya Membunuh Kecoa
- Fakta Unik Tentang Minion
- KEMANAKAH ARAH LUBANG HITAM / THE BLACKHOLE?
- Mengapa Tembok Cina Kuat Berabad-abad?
- Benar Tidak Nabi Adam Orang Pertama Di Bumi ??
- Kode Rahasia Dibalik Blackberry
- Cara Kalkulasi MEmbuat IMEI & PIN Blackberry yang ...
- Indonesia Pengguna Path Terbesar di Dunia
- Dua Ilmuwan Jerman Buktikan Dalil Keberadaan Tuhan
- Misteri di Balik Blackberry Messenger pada Android...
- Pin BB Merupakan Bilangan Hexadecimal
-
▼
November
(26)
Recent Posts
Recent Comments
Ipsum Tempor
Sit amet
Ultricies Eget
Blogroll
Blogroll
Connect with Us
toko baju & busana wanita
Blogger templates
Sample Video
Pages
Diberdayakan oleh Blogger.
Followers
Blog Archive
-
▼
2013
(143)
-
▼
November
(26)
- Sejarah Susunan Keyboard QWERTY
- Penyebab Jatuhnya Blackberry
- Menjalankan Aplikasi dan Games Android di PC denga...
- Keunggulan Android dibanding OS lain
- Mengapa Mesin Mobil Yang Mati di Rel Kereta Api Su...
- Perbedaan dan Persamaan Hacker dengan Cracker
- Perbedaan XML dan HTML
- Apa itu Kriptografi?
- Mengenal PIN BlackBerry
- Cara Kerja Base64 Encoding
- Mengenal Base64 Encoding
- Bagaimana Menghapus Nama Anda dari Dunia Internet?
- Fakta Mengejutkan Tentang Wudhu
- Dokumen Rahasia Amerika Akan Hancurkan Makkah Dan ...
- Ternyata Iblis Di Balik Desain Sajadah Yang Besar
- Bahaya Membunuh Kecoa
- Fakta Unik Tentang Minion
- KEMANAKAH ARAH LUBANG HITAM / THE BLACKHOLE?
- Mengapa Tembok Cina Kuat Berabad-abad?
- Benar Tidak Nabi Adam Orang Pertama Di Bumi ??
- Kode Rahasia Dibalik Blackberry
- Cara Kalkulasi MEmbuat IMEI & PIN Blackberry yang ...
- Indonesia Pengguna Path Terbesar di Dunia
- Dua Ilmuwan Jerman Buktikan Dalil Keberadaan Tuhan
- Misteri di Balik Blackberry Messenger pada Android...
- Pin BB Merupakan Bilangan Hexadecimal
-
▼
November
(26)
0 komentar:
Posting Komentar