Mengenkripsi password login

Login merupakan area yang penting bagi sebuah program dimana halaman login umumnya dibuat sebagai akses bagi user dan admin untuk mengelola data mereka. kolom yang terdapat input pada form login biasanya digunakan bagi para hacker untuk meretas sebuah program. Maka perlu diperhatikan untuk menjaga keamanan form login kita dengan membatasi dalam penginputan. Login umumnya terdiri dari 2 kolom, yaitu username dan password. Pada banyak program username disarankan untuk dibuat unik sebagai identifikasi pengguna program begitu pula password yang pada umumnya password disarankan dibuat dari lebih atau sama dengan 8 karakter dengan karakter unik tentunya. Sehingga mempersulit bagi para hacker dalam melakukan peretasan pada program kita. Selain itu password yang disimpan dalam database haruslah merupakan sebuah password yang telah terenkripsi.

Kali ini kita akan belajar tentang cara untuk melakukan enkripsi password. Enkripsi yang paling sederhana dan dipakai adalah dengan menggunakan fungsi MD5 (Message Digest algirithm 5) dimana fungsi ini dapat mengenkripsi sebuah password menjadi 32 karakter acak dengan kombinasi angka dan huruf. Sebagai contoh "82591da96f90eaea3b87da484916d1cf" yang jika dilakukan decrypt maka hasilnya "tutorialtoweb". Ada banyak situs online yang dapat kita gunakan jika kita ingin mengetahui hasil enkripsi MD5 pada sebuah kata. Misalnya "https://www.md5online.org/". Struktur penulisan MD5 adalah MD5(string $str). Anda bisa mencobanya, buatlah sebuah file php dengan kode seperti dibawah ini.

<?php echo md5('tutorialtoweb');?>

maka ketika dijalankan akan menghasilkan output "82591da96f90eaea3b87da484916d1cf".


Pada tutorial kali ini kita tidak disarankan menggunakan fungsi MD5 untuk mengenkripsi password
kita, tetapi kita bisa menggunakan fungsi yang lain yaitu fungsi crypt. Struktur penulisan fungsi ini sebagai berikut

crypt(string,salt)

kode salt ini terdiri dari beberapa bentuk, seperti dibawah ini.


1. CRYPT_STD_DES


Salt terdiri terdiri dari 2 karakter, sebagai contoh:

crypt('tutorialtoweb','tw');

"tutorialtoweb" merupakan string yang akan dienkripsi/dihash, sedangkan "tw" merupakan salt.


2. CRYPT_EXT_DES

Salt terdiri dari 4 karakter, sebagai contoh:

crypt('tutorialtoweb','_S4..webs');

"tutorialtoweb" merupakan string yang akan dienkripsi/dihash, sedangakan "webs" merupakan salt.


3. CRYPT_MD5

Salt terdiri dari 12 karakter dan diawali dengan $1$, sebagai contoh:

crypt('tutorialtoweb','$1$websites$');

"tutorialtoweb" merupakan string yang akan dienkripsi/dihash, sedangkan "$1$websites$" merupakan salt.


4. CRYPT_BLOWFISH

Salt diawali dengan $2a$, dua digit cost paramater 09, dan 22 karakter. Sebagai contoh:

crypt('tutorialtoweb','$2a$09$websiteskerenpertamaku$');

"tutorialtoweb" merupakan string yang akan dienkripsi/dihash, sedangkan "$2a$09$websiteskerenpertamaku$" merupakan salt.



Anda dapat menggunakan salahsatunya untuk melakukan enkripsi pada password anda. Selamat mencoba,,, :)

Comments

Popular posts from this blog

Membuat password PHPMyAdmin

Input kode barang otomatis dengan PHP

Mengubah format tanggal dengan fungsi PHP