Cara menyandikan string di php

Base64 adalah jenis penyandian yang berguna yang memungkinkan Anda menyandikan string dalam PHP yang dapat Anda dekode dengan mudah

PHP menggunakan standar untuk penyandiannya. Standar ini awalnya dirancang untuk membantu pengiriman data biner dalam protokol berbasis teks seperti email

Sesuatu seperti gambar akan dikodekan dalam format ini selama transit dan kemudian diterjemahkan kembali ke data aslinya oleh klien penerima

Ada banyak kegunaan lain untuk encoding dan decoding Base64 di PHP. Misalnya, dalam sistem komentar sebelumnya kami menggunakan data SVG yang disandikan ke dalam Base64 yang kemudian ditafsirkan oleh browser web kembali ke data aslinya.

Selama beberapa bagian berikutnya, kami akan menunjukkan kepada Anda bagaimana Anda dapat menyandikan dan mendekode menggunakan Base64 di PHP. Secara khusus kita akan menyentuh fungsi PHP ________ 32 _______ dan ________ 33 ______

Harap dicatat bahwa Base64 tidak boleh digunakan untuk keamanan. Ini dirancang untuk dikodekan dan didekodekan secara efisien dengan cepat dan tidak menawarkan perlindungan

Fungsi base64_encode() di PHP

Di bagian ini, kami akan menunjukkan kepada Anda cara menyandikan string dalam format Base64 di PHP. Untuk mencapainya, Anda akan mempelajari semua tentang fungsi base64_encode()

Definisi Fungsi base64_encode() PHP

Biarkan kami menunjukkan kepada Anda bagaimana tepatnya fungsi base64_encode() didefinisikan dalam PHP. Mengetahui bagaimana itu didefinisikan akan memudahkan Anda untuk memahami jenis data apa yang akan Anda lakukan

Fungsi ini sangat mudah karena hanya menampilkan parameter tunggal yang mengharapkan string

Di bawah ini Anda dapat melihat bagaimana base64_encode() didefinisikan. Definisi ini menunjukkan parameter tipe data yang diharapkan dan tipe pengembalian fungsi

base64_encode(string $string): string

Fungsi ini hanya membutuhkan satu parameter. Parameter itu adalah string yang ingin Anda enkode ke standar MIME Base64

PHP akan mengembalikan versi string Anda yang disandikan Base64. Anda akan melihat bahwa string ini akan menggunakan lebih banyak data dan lebih panjang dari data aslinya

Karena cara kerja Base64, ini akan menghabiskan sekitar 33% lebih banyak data daripada string asli, jadi berhati-hatilah jika Anda berurusan dengan string sumber besar

Contoh penggunaan base64_encode()

Sekarang setelah kita mengetahui definisi fungsi base64_encode() di PHP, kita dapat menjelajahi contoh bagaimana Anda akan menggunakannya dalam kode Anda

Kami akan membuat contoh ini relatif mudah dengan meneruskan string langsung ke fungsi

Di bagian atas contoh ini, kita akan membuat variabel yang disebut "

<?php
$website = "pimylifeup.com";

echo base64_encode($website);
?>
1" dan menetapkan string "
<?php
$website = "pimylifeup.com";

echo base64_encode($website);
?>
2"

Kami kemudian menggunakan fungsi base64_encode() PHP, meneruskan variabel "

<?php
$website = "pimylifeup.com";

echo base64_encode($website);
?>
1" ke dalam parameter tunggalnya. String Base64 yang dikembalikan akan ditampilkan berkat kami menggunakan pernyataan gema

<?php
$website = "pimylifeup.com";

echo base64_encode($website);
?>
_

Di bawah, Anda dapat melihat bagaimana PHP menyandikan string “

<?php
$website = "pimylifeup.com";

echo base64_encode($website);
?>
2” kami dalam format Base64

Anda akan segera menyadari bahwa string yang dihasilkan lebih panjang dan diakhiri dengan tanda sama dengan. Ini karena standar MIME-Base64 menggunakan tanda sama dengan untuk padding karena panjangnya harus selalu kelipatan tiga

cGlteWxpZmV1cC5jb20=
_

Fungsi base64_decode() di PHP

Sekarang setelah Anda tahu cara menyandikan string dalam format MIME-Base64 di PHP, mari kita jelajahi cara mendekode string

PHP menyediakan fungsi yang disebut base64_decode()_ yang akan mengambil string yang disandikan dan mendekodekannya kembali ke data aslinya

Definisi Fungsi base64_decode() PHP

Sebelum kita melanjutkan, mari kita jelajahi definisi base64_decode() dalam PHP. Definisi ini akan menunjukkan kepada Anda berbagai parameter dan tipe kembalian dari fungsi ini

Fungsi inilah yang akan mengambil string Base64 dan mengubahnya kembali ke data aslinya

Di bawah ini Anda dapat melihat definisi fungsi. Ini menunjukkan dua parameter di samping tipe pengembalian data

base64_decode(string $string, bool $strict = false): string|false

Fungsi ini memiliki dua argumen yang dapat Anda gunakan. Yang pertama wajib, dan yang kedua opsional

  • <?php
    $website = "pimylifeup.com";
    
    echo base64_encode($website);
    ?>
    8 – Parameter ini diperlukan dan merupakan tempat Anda akan meneruskan string yang disandikan MIME Base64

    Jika string Anda menggunakan standar yang berbeda, Anda mungkin mengalami masalah saat menggunakan fungsi ini
  • <?php
    $website = "pimylifeup.com";
    
    echo base64_encode($website);
    ?>
    _9 – Parameter ketat adalah opsional dan diatur ke “
    cGlteWxpZmV1cC5jb20=
    0” secara default

    Dengan menyetel
    <?php
    $website = "pimylifeup.com";
    
    echo base64_encode($website);
    ?>
    _9 ke “
    cGlteWxpZmV1cC5jb20=
    2“, PHP akan mengembalikan “
    cGlteWxpZmV1cC5jb20=
    0” jika string Base64 berisi karakter apa pun yang tidak tersedia dalam alfabet Base64

    Saat disetel ke “
    cGlteWxpZmV1cC5jb20=
    0“, PHP akan secara diam-diam membuang karakter yang tidak valid dan mencoba mendekode string yang dihasilkan

Fungsi base64_decode() PHP akan mengembalikan "

cGlteWxpZmV1cC5jb20=
0" pada kegagalan, atau data yang didekodekan. Data yang didekodekan mungkin biner, jadi bersiaplah untuk menangani ini dalam kode Anda

Contoh penggunaan base64_decode() di PHP

Pada bagian ini, kami akan menunjukkan cara menggunakan fungsi base64_decode() di PHP. Kami akan memberikan dua contoh berbeda di bawah ini

Contoh pertama akan menunjukkan bagaimana fungsi digunakan tanpa parameter opsional. Contoh kedua akan menunjukkan cara kerja opsi ketat

Penggunaan Dasar dari Fungsi base64_decode()

Contoh pertama kita akan mengeksplorasi penggunaan dasar dari fungsi base64_decode(). Jadi dengan contoh ini, kita akan mengabaikan parameter kedua

Untuk memulai skrip ini, kami akan mendefinisikan string PHP yang disebut "

<?php
$website = "pimylifeup.com";

echo base64_encode($website);
?>
8" dan menetapkannya sebagai string yang disandikan Base64 (
base64_decode(string $string, bool $strict = false): string|false
0). String ini sama dengan yang kami enkode sebelumnya dalam panduan ini

Kami kemudian meneruskan variabel "

<?php
$website = "pimylifeup.com";

echo base64_encode($website);
?>
_8" kami langsung ke fungsi base64_decode(). Kami kemudian mengeluarkan string yang dihasilkan dengan menggunakan pernyataan gema di depannya

<?php

$string = "cGlteWxpZmV1cC5jb20=";

echo base64_decode($string);

?>

Setelah menjalankan kode contoh di atas, PHP akan mendekodekan string Base64 kami kembali ke data aslinya. Dalam kasus kami, ini akan menjadi teks berikut

pimylifeup.com

Menggunakan Bidang Ketat di Fungsi base64_decode()

Sekarang kita telah melihat penggunaan dasarnya, mari kita coba menggunakan fungsi base64_decode(), tetapi kita akan mengaktifkan mode ketat dengan menyetel parameter kedua ke “

cGlteWxpZmV1cC5jb20=
2“

Kami akan menyesuaikan string yang disandikan dengan menambahkan tiga karakter Base64 yang tidak valid untuk menunjukkan fungsinya. Ini adalah tanda seru (

base64_decode(string $string, bool $strict = false): string|false
5), tanda tanya (
base64_decode(string $string, bool $strict = false): string|false
6), dan tagar (
base64_decode(string $string, bool $strict = false): string|false
7)

Di bagian atas skrip kami, kami mendefinisikan variabel kami yang disebut "

base64_decode(string $string, bool $strict = false): string|false
8" dan memberinya nilai "
base64_decode(string $string, bool $strict = false): string|false
9"

Kami kemudian akan meneruskan ini ke dalam dua panggilan fungsi terpisah

  • Yang pertama akan menggunakan fungsi base64_decode() PHP tetapi tetap nonaktif

    Ini akan menunjukkan bagaimana PHP biasanya menangani string Base64 yang berisi karakter yang tidak valid
  • Kami mengaktifkan fungsionalitas ketat base64_decode() untuk panggilan kedua dengan menyetel parameter keduanya ke
    cGlteWxpZmV1cC5jb20=
    2

    Alih-alih mencoba menghapus karakter yang tidak valid, fungsi akan gagal dan mengembalikan
    cGlteWxpZmV1cC5jb20=
    0

Untuk kedua fungsi ini, kami mengirimkan hasilnya langsung ke fungsi var_dump() PHP. Fungsi ini akan mencetak nilai dan tipe data yang dikembalikan

<?php

$string = "cGlteWxpZ?#mV1cC5jb20=";

var_dump(base64_decode($string));

var_dump(base64_decode($string, true));

?>

Di bawah ini Anda dapat melihat bagaimana fungsi base64_decode() PHP bekerja saat menyetel parameter ketat. Ketika ketat tidak disetel atau disetel ke salah, itu akan membersihkan string yang disediakan dan mencoba memecahkan kodenya

Namun, itu hanya akan gagal dan mengembalikan

cGlteWxpZmV1cC5jb20=
0 saat mode ketat diaktifkan

string(14) "pimylifeup.com"
bool(false)

Kesimpulan

Dalam tutorial ini, kami menunjukkan kepada Anda bagaimana PHP menangani string yang disandikan Base64. Anda dapat dengan mudah mendekode dan menyandikan string apa pun menggunakan dua fungsi sederhana

Meskipun awalnya dirancang untuk membantu mengirim data biner dalam protokol yang dioptimalkan untuk teks, pengkodean ini masih memiliki kegunaannya

Jika Anda memiliki pertanyaan tentang fungsi base64_encode() dan base64_decode(), silakan beri komentar di bawah

Pastikan untuk melihat tutorial PHP kami yang lain jika Anda ingin mempelajari lebih lanjut. Kami juga memiliki banyak panduan pemrograman lain jika Anda ingin mempelajari bahasa baru

Bisakah Anda menyandikan string dalam PHP?

Fungsi base64_encode() adalah fungsi bawaan dalam PHP yang digunakan untuk mengkodekan data dengan MIME base64 . MIME (Multipurpose Internet Mail Extensions) base64 digunakan untuk menyandikan string di base64.

Bagaimana cara menyandikan teks dalam PHP?

Fungsi utf8_encode() adalah fungsi bawaan dalam PHP yang digunakan untuk menyandikan string ISO-8859-1 ke UTF-8. Unicode telah dikembangkan untuk mendeskripsikan semua kemungkinan karakter dari semua bahasa dan menyertakan banyak simbol dengan satu nomor unik untuk setiap simbol/karakter.

Bagaimana cara menyandikan dan mendekode string dalam PHP?

PHP. Fungsi base64_decode() . Base64_decode() adalah fungsi bawaan dalam PHP yang digunakan untuk mendekode data yang dikodekan dalam MIME base64. Parameter. Fungsi ini menerima dua parameter seperti yang disebutkan di atas dan dijelaskan di bawah ini. $data. Ini adalah parameter wajib yang berisi string yang disandikan.

Bagaimana cara menyandikan string?

Cara lain untuk menyandikan string adalah dengan menggunakan pengkodean Base64. .
String str = "Tschüss";
Buffer ByteBuffer = StandardCharsets. UTF_8. menyandikan(str);
String encoded_String = StandardCharsets. UTF_8. memecahkan kode (penyangga). toString();