Rampok | Blog Rama Mamuaya

July 19, 2007

Fungsi md5() untuk proteksi password pada PHP

Filed under: Etcetera - Administrator @ 12:20 pm

Saya kemarin dimintai tolong oleh beberapa kolega saya untuk me-review / meng-audit program skripsi mereka sebelum disidangkan 2 minggu kemudian. 5 orang yang membuat web ecommerce, dan 2 orang membuat sistem informasi berbasis web ( semua menggunakan PHP ). Dari 7 buah skripsi teman saya tersebut ternyata tak satupun yang menggunakan pengamanan / enkripsi dalam database khususnya untuk username dan password yang plaintext gitu aja. Padahal fungsi md5() sudah capek2 ditulis untuk membantu.. hehe. Yah begini contoh penggunaan beserta penjelasannya :

MD5 sendiri merupakan algoritma enkripsi satu arah ( hampir tidak mungkin untuk brute force decryption ). Caranya adalah dengan mengacak string yang akan dienkripsi menjadi md5 hash ( hasil enkripsi ). Nah untuk mecocokkannya cukup mudah yaitu dengan mengenkripsi password yang diinput saat login  kembali menjadi hash untuk kemudian dicocokkan dengan hash password pada database sesuai dengan login username tersebut.

Code

 Tabel user: user_id INT(5) PK, login VARCHAR(10), pass VARCHAR(8).

 skrip untuk insert record user baru ke db :

$hash_pass = md5($password); 

$kueri = mysql_query("INSERT INTO user VALUES(23425,’userbaru’,'$hash_pass’)"); 

skrip untuk login 

 $hash_pass = md5($password);

$kueri = mysql_query("SELECT * FROM user WHERE login=’$username’ AND pass=’$hash_pass’");

if(!$kueri){

die("login gagal");

dengan begini password yang disimpan dalam database tidak dalam bentuk plain text which is so dangerous. Peace. 

Comments »

The URI to TrackBack this entry is: http://rampok.blogsome.com/2007/07/19/fungsi-md5-untuk-proteksi-password-pada-php/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.

Get free blog up and running in minutes with Blogsome
Theme designed by Alex King