Anda di halaman 1dari 4

ENKRIPSI DATA DI PHP

PENDAHULUAN

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.

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

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.

(https://www.keyzex.com/2018/10/fungsi-enkripsi-di-php.html?m=1)

ISI

Banyak fungsi yang dimiliki oleh PHP untuk menangani enkripsi data. Enkripsi data sangat
penting untuk menangani data pribadi yang bersifat rahasia : password. Tiap fungsi enkripsi yang
dimiliki oleh PHP akan memberikan hasil yang berbeda – beda.
Berikut ini akan mengupas tuntas beberapa fungsi yang berkaitan dengan penanganan enkripsi
data.

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.

(https://www.keyzex.com/2018/10/fungsi-enkripsi-di-php.html?m=1)

KESIMPULAN

Gunakan fungsi yang menggunakan metode one-way hasing untuk melindungi password.
Tapi, perlu diselidiki dulu…apakah fungsi tersebut masih aman atau tidak?

Sedangkan untuk fungsi yang menggunakan metode two-way hasing, sangat tidak
disarankan untuk melindungi password, karena memiliki fungsi untuk decode atau
mengembalikannya dari bentuk hash menjadi plain text.

(https://www.petanikode.com/php-fungsi-enkripsi/)

Anda mungkin juga menyukai