Saya tidak mendapatkan enkripsi Base64.
Jika seseorang dapat mendekripsi string Base64, apa tujuannya?
Mengapa ini digunakan untuk autentikasi HTTP Basic?
Ini seperti memberi tahu seseorang kata sandi saya dibalik menjadi OLLEH.
Orang yang melihat OLLEH akan tahu kata sandi asli adalah HALO.
security
encryption
base64
ajsie
sumber
sumber
Jawaban:
Base64 bukan enkripsi - ini adalah penyandian. Ini adalah cara untuk merepresentasikan data biner menggunakan hanya karakter (teks) yang dapat dicetak.
Lihat paragraf ini dari halaman wikipedia untuk Otentikasi Dasar HTTP :
sumber
Biasanya disebut pengkodean base64, bukan enkripsi! Yang menyenangkan tentang pengkodean base64 adalah memungkinkan Anda untuk merepresentasikan data (biner) hanya dengan menggunakan subset umum yang terbatas dari karakter yang tersedia, jauh lebih efisien daripada hanya menulis string 1s dan 0s seperti ASCII misalnya.
sumber
x2
lebih banyak byte dari stream asli, dan 1s, 0s - membuatx8
kali lebih banyak byte. (Dan Base64 membuatx1.3
lebih banyak data daripada array byte asli). Jadi kadang-kadang dapat diterima untuk menyandikan aliran biner sebagai string hex, menggandakan jumlah byte - misalnya hanya untuk menyimpan hash kata sandi dalam database.En crypt ion memerlukan kunci (string atau algoritma) untuk mendekripsi; karenanya "crypt" (root: cryptography )
En cod ing memodifikasi / menggeser / mengubah kode karakter menjadi yang lain. Dalam hal ini, byte data biasa sekarang dapat dengan mudah direpresentasikan dan diangkut menggunakan HTTP.
sumber
Dalam bahasa sehari-hari, "kode" adalah sesuatu yang rahasia. Dalam sains dan teknik, kode hanyalah sebuah perjanjian, seperangkat aturan, tentang cara menulis sesuatu.
Kode itu mungkin rahasia. Dalam hal ini, itu disebut enkripsi. Namun secara umum, kode bukanlah rahasia. Ambil kode genetiknya. Ini hanya menyatakan bahwa DNA kita dibangun dari empat basis yang berbeda -
A
,C
,G
danT
dan tiga dasar diambil bersama-sama membentuk satu asam amino. Ada juga sebuah tabel di mana tiga huruf membentuk asam amino.Tidak ada rahasia tentang kode ini.
Demikian juga, Base64 bukan kode rahasia. Sebaliknya, ini adalah kode yang memungkinkan penyimpanan data dalam enam bit per karakter (sehingga ada 64 entitas yang berbeda, yaitu "basis" dari sistem adalah 64, sama seperti basis dari sistem desimal kami adalah 10, karena ada 10 entitas yang berbeda disebut "digit").
sumber
Anda mungkin berarti "Encoding Base 64". Enkripsi tidak sama dengan encoding.
Wikipedia: Enkripsi
sumber
Pengkodean basis-64 adalah bagian dari spesifikasi MIME. Ini memberikan pengkodean aman-transportasi untuk data yang tidak akan dikunyah jika / ketika itu disampaikan melalui host yang menggunakan skema pengkodean yang berbeda dari yang digunakan oleh klien asli.
Ada banyak host yang berbeda di intertubes dan Anda tidak dapat benar-benar menerima dukungan untuk apa pun selain ASCII 7-bit, tanpa risiko kehilangan data / kebingungan.
Mainframe IBM, misalnya, menggunakan pengkodean yang disebut EBCDIC (yang datang dalam banyak rasa yang berbeda). Codepoints ini benar-benar berbeda dari titik kode yang digunakan oleh 'puters berbasis ASCII - dalam ASCII, huruf AZ adalah 0x41 - 0x5A; dalam EBCDIC huruf A - Z bahkan bukan rentang yang berdekatan: huruf AI hidup pada 0xC1 - 0xC9, huruf JR hidup di 0xD1 - 0xD9 dan huruf SZ hidup di 0xE2 - 0xE9.
sumber
Secara default, parameter kolom header pesan dalam pesan Hypertext Transfer Protocol (HTTP) tidak dapat membawa karakter di luar set karakter ISO-8859-1.
Jika nama pengguna dan kata sandi berisi charset yang tidak kompatibel dari HTTP tidak akan dapat membawa teks tersebut. untuk mencegah hal ini, kami menyandikan nama pengguna dan kata sandi dengan base64 untuk memastikan kami mengirim char HTTP kompatibel melalui HTTP. untuk informasi lebih lanjut lihat Basic_access_authentication ini
sumber