Skip to main content

Fungsi Enkripsi di PHP Untuk Mengamankan Data Pengguna

Data sangat penting dalam sebuah aplikasi, karena data ini berisikan file atau teks penting bagi seorang pengguna. Seperti halnya password, password ini bersifat rahasia dan pribadi maka dari itu untuk mengamankan password diperlukan enkripsi password dari bahasa pemrograman--nya. Untuk itu kita akan belajar enkripsi password di php.

Enkripsi merupakan bidang dari kriptografi, seperti halnya enigma yang ada di film Imitation Game. Itulah enkripsi. Enkripsi adalah sebuah proses untuk mengamankan informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus mengenai jenis yang di enkripsi.

Fungsi Enkripsi di PHP Untuk Mengamankan Data Pengguna

Enkripsi biasanya digunakan terhadap data yang sensitif, seperti password. Namun ada juga penggunaan enkripsi pada aplikasi chatting, seperti Whatsapp.

Enkripsi akan menjamin data-data yang disimpan tetap aman meskipun berada di tangan orang lain, mereka tidak akan tahu isinya tanpa pengetahuan khusus.

Baca Juga : Perbedaan Antara Fungsi echo(), print(), dan printf() di PHP

Selain itu, enkripsi tentunya digunakan dalam keamanan, teknik ini masih diperlukan dalam membuat komunikasi khusus yang aman, terutama dalam memastikan integritas dan autentikasi dari sebuah pesan untuk menghindari orang ke tiga membaca pesan tersebut.

Masing-masing fungsi enkripsi memiliki algoritmanya sendiri, ada yang lemah dan ada juga yang kuat. Berikut adalah beberapa fungsi enkripsi yang terdapat di PHP, yakni:

  1. fungsi password_hash()
  2. fungsi crypt()
  3. fungsi md5()
  4. fungsi hash()
  5. fungsi sha1()
  6. fungsi base64_encode()


Maka dari itu, kita akan membahas satu persatu. Berikut adalah fungsi enkripsi di PHP.

Fungsi Enkripsi untuk Mengamankan Data


Fungsi Enkripsi di PHP Untuk Mengamankan Data Pengguna

Terdapat satu, tidak, terdapat enam enkripsi untuk mengamankan data di dalam pemrograman PHP. Mereka memliki algoritma tersendiri dalam meng-enkrip suatu data.

Baca Juga : Apa Itu Composer Dan Cara Install Composer Serta Manfaat Composer Untuk Programmer

Tentu saja algoritma tersebut ada yang kuat ada yang lemah, tapi tidak salah jika kita tidak mencobanya sebagai alat untuk pengamanan data, yuk langsung saja kita membahas fungsi enkripsi.

1. Fungsi password_hash()


Fungsi password_hash() ini menghasilkan sebuah kode hash dengan metode one-way hash. One-way hash ini artinya adalah hasil dari enkripsi tidak dapat dikembalikan seperti semula atau di decode maupun di decrypt.

Sebagai contoh :
<?php
echo password_hash("Q1x2Bn87Raha", PASSWORD_DEFAULT);
?>

Maka hasilnya :
$2y$10$B5Nhkmcj2O8f8bYdYZL8xuZmVLEgri/rupbSywcXGWibe/Rnykjye
Fungsi ini sangat kuat dan tidak bisa di decrypt, dan sangat disarankan untuk menggunakan fungsi ini untuk mengekripsi password.

Tapi biasanya kebanyakan orang menggunakan fungsi md5(), tetapi fungsi md5() ini sangat mudah sekali untuk di decrypt dan banyak tools decrypt md5 online yang tersedia di Internet.

Karena itu saya sangat merekomendasikan untuk menggunakan fungsi password_hash() untuk melindungi data penting seperti password.

Perlu diingat bahwa password_hash() ini tidak dapat bekerja sendirian, ia memerlukan teman untuk memverifikasi untuk data login dengan menggunakan fungsi password_verify().

Seperti nama fungsinya password_verify() ini digunakan saat membuat login untuk membandingkan password yang dikirim user untuk membandingkan dengan password yang tersimpan di database.

2. Fungsi crypt()


Fungsi ini hampir sama dengan password_hash(), namun yang membedakannya adalah penggunaan alogirtma dari kriptografinya, crypt() ini menggunakan algoritma DES dan MD5.

Sebagai contoh :
<?php
echo crypt("Q1x2Bn87Raha", "garam");
?>

Maka hasilnya :
ga2WwbFH2cCF6
Terdapat 2 parameter pada fungsi ini. Parameter pertama adalah teks yang akan dienkripsi, sementara yang kedua adalah garam atau salt.

Garam ini bukan hanya bumbu dapur, tetapi garam merupakan sebuah data acak yang dimasukan ke dalam fungsi enkripsi.

Fungsi ini sangat direkomendasikan untuk mengamankan data sensitif seperti password karena susah untuk di-crack.

3. Fungsi hash()


Fungsi ini berbeda dengan fungsi lainnya, karena fungsi hash() akan menciptakan sebuah kode algoritma tertentu.

Perlu diketahui bahwa algoritma hash ini dapat menggunakan algoritma yang berbeda. Dengan menggabungkan algoritma yang dipilih serta algoritma dari hash.

Sebagai contoh :
<?php
echo hash("md5", "Q1x2Bn87Raha");
?>

Maka hasilnya :
3797bfe1a5d957124cbd2becd480ec9f
Walau menggunakan algoritma md5, ternyata ini tidak bisa di decrpyt. Kamu dapat mencobanya sendiri.

4. Fungsi md5()


Fungsi hash ini mempunyai karakter yang unik. Md5() hash hanya akan menampilkan kode hash dengan panjang karakter hingga 32 karakter.

Sebagaimana sudah dijelaskan di atas bahwa enkrip ada yang lemah dan ada yang kuat, md5 ini termasuk golongan yang lemah menurut saya. Karena bisa di decrypt dengan mudah menggunakan tools yang ada di internet.

Sebagai contoh :
<?php
echo md5("Q1x2Bn87Rahayuz7");
?>

Maka hasilnya :
4d2df336b059c08faf3e43488039d8eb

5. Fungsi sha1()


Fungsi ini hampir sama dengan md5(), tetapi yang membedakannya hanyalah sha1() ini menampilkan karakter sepanjang 40 karakter.

Sebagai contoh :
<?php
echo sha1("Q1x2Bn87Rahayuz7");
?>

Maka hasilnya :
83dec3c94a5b1de2620755831e90c0691029c43a

6. Fungsi base64_encode()


Fungsi ini dapat menghasilkan kode dari teks yang diinputkan, dan kemudian ia dapat kembali ke teks dengan menggunakan perintah base64_decode()

Berbeda dengan password_hash() yang hanya memiliki sifat one-way hashing. Tetapi base64 ini memiliki sifat two-way hashing yang artinya dapat dikembalikan lagi seperti semula.

Sebagai contoh :
<?php
echo base64_encode("RaHaDiNa");
?>

Maka hasilnya :

UmFIYURpTmE=

Kemudian, kita akan menggunakan fungsi base64_decode() untuk mengembalikan ke seperti semula.

Sebagai contoh :
<?php
echo base64_decode("UmFIYURpTmE=");
?>

Maka hasilnya :

RaHaDiNa

Enkripsi ini tidak direkomendasikan sebagai enkripsi data sensitif karena sangat mudah sekali untuk di-crack.

Baca Juga : Cara Menampilkan Tanggal dan Waktu Sekarang di PHP

PENUTUP


Demikian 6 fungsi enkripsi ini. Terima kasih telah membaca artikel Fungsi Enkripsi di PHP Untuk Mengamankan Data Pengguna hingga selesai. Silahkan gunakan kolom komentar dengan bijak jika ada hal-hal yang tidak Kamu ketahui dan ingin ditanyakan.

Sebagai kesimpulan yang dapat diambil adalah gunakan enkripsi dengan sifat one-way hashing, tetapi perlu diketahui juga jika menggunakan one-way hashing belum tentu aman, karena MRX pernah berkata, "Tidak ada sistem yang aman". Walau ini hanya fiktif tetapi dapat diambil kesimpulan bahwa kita harus berhati-hati dalam setiap hal.

Sumber :


  • PetaniKode.com
  • Php.net
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar