Encrypt Password Dengan Md5 di PHP


MD5 ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file.

MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Pada tahun 1996, sebuah kecacatan ditemukan dalam desainnya, walau bukan kelemahan fatal, pengguna kriptografi mulai menganjurkan menggunakan algoritma lain, seperti SHA-1 (klaim terbaru menyatakan bahwa SHA-1 juga cacat). Pada tahun 2004, kecacatan-kecacatan yang lebih serius ditemukan menyebabkan penggunaan algoritma tersebut dalam tujuan untuk keamanan jadi makin dipertanyakan.

Itulah sekilas tentang MD5 yang saya cuplik dari wikipedia. Akhir-akhir ini sedang marak pembobolan situs dengan domain pemerintah baik itu skala nasional maupun sekala daerah. Tentunya masih hangat dalam ingatan kita, beberapa pekan terakhir situs KOMINFO jadi sasaran dedemit maya, yang lebih menghebohkan lagi, si Cracker menitip pesan, kalau situs KOMINFO user dan password berupa plaintext, tidak di encrypt sama sekali.
Disebuah group facebook, beberapa teman bertanya kesaya tentang cara encrypt password dalam sebuah web, namun penjelasan yg saya berikan nampaknya kurang bisa dipahami, entah karena saya yang bodoh menjelaskan atau karena mereka,, tapi saya pikir karena kebodohan saya yang tidak bisa menjelaskan. Langsung saja melihat contohnya dalam syntaxt PHP.
include ("koneksi.php");
$username=$_POST['username'];
$password=md5($_POST['password']);
$jenis=$_POST['level'];
$query=mysql_query("insert into admin (user,passwd,level) values ('$username','$password','$level')");

Ketika password yang di inputkan melalui script php diatas, maka yang tersimpan kedalam database adalah password yang sudah di encrypt, namun jika anda ingin username juga di encrypt, maka anda tinggal menambahkan saja md5 seperti contoh pada password.

Nah yang menjadi pertanyaan adalah, apakah ketika login nanti, text password yang diinputkan bisa dikenali sebagai md5 juga ?. Masalah seperti ini awalnya saya dapati, tapi kalau kita berpikir ala encoder, kita tidak akan menemui masalah, karena logika nya tetep sama

  • Ketika menyimpan password dengan md5, maka ketika login juga harus md5 domz,

caranya adalah kita kenali di form login kita di text dengan md5, berikut contoh syntaxnya
$user=$_POST['username'];
$pass=md5($_POST['password']);
$hasil=mysql_query("select * from admin where user='$username' and passwd='$password'");

Demikian tips singkat ini, semoga bisa berguna untuk pemula seperti saya ini,,,,,

15 thoughts on “Encrypt Password Dengan Md5 di PHP

  1. saya beum baca sampai abiz artikel nya mas, tp yg saya paham dr md5 ini, saat kita sudah bisa masuk di databse nya, dan passwordnya berupa MD5, secara nyata idak terlihat oleh mata ini apa passwordnya, tetapi yg saya herankn, kenapa jika password MD5 itu di paste ke google.com maka password aslinya terlihat dengan mudah?? bagaimana itu mas?? bisa di bahas?? saya pengen tau. pemikiran saya malah percuma donk di kasih MD5 kalau toh password nya juga bakal terdetect??

    • ‎1. MD5 bukan solusi terbaik, karena masih ada hash yg sampai 3x di crypt, tapi ini salah satu solusi utk mempersulit dalam ngeliat password, gampang nya daripada pakai plaintext :D.. gitu.
      2. memang dg mempaste password dg encrypt md5 sangat gampang terlihat, contohnya coba paste ini di google 2ec87599180c059aa5444292cd98c5ff dengan sangt mudah terlihat kalau md5 itu di decode nya dr aryo, nah sekarang coba paste ini di google, c7220e80c2d222ffab3aa1014fc9ae0d insya allah g ketemu, terkecuali di tool utk ngehash md5. Solusinya adalah perkuat password kita, md5 terdiri dari 32karakter, usahakan penuhi karakter itu ketika membuat password!!! demikian,

    • Begini ketika mencari di google dengan decode dari “aryo” itu sudah ada orang yang mencari di salah satu web yang menyediakan decoding dari md5 tersebut, kalau putra mengklik linknya maka akan mendapat site yg menuju ke http://md5.wintvs.com/aryo , dan site itu menyediakan tool utk decode.
      Pertanyaan nya kenapa bisa ada di google?, itu karena site tersebut menyimpan hasil yang pernah diinputkan oleh orang, kemudian di didecode oleh program di web, lantas google membaca dan mengindex kan, so kita bisa menemukan di google,.!
      MD5 yang kedua, itu tidak bisa dicari digoogle karena tidak ada web yang menyimpan hasil decode dg karakter di password itu, makanya saya sarankan untuk memakai password yg panjang, agar lebih susah utk di decode,, begitu

  2. Okelah, MD5 boleh jadi diperlukan demi keamanan. Password yang terlihat pada table database (yang dapat diakses oleh Admin) bukanlah password sebenarnya. Bagaimana kalau user pemilik password tsb karena satu dan lain hal, lupa akan passwordnya. Bagaimana cara atau sistem yang diperlakukan untuk memulihkan keadaan agar user tsb dapat login? Apakah sistem harus menyediakan fasilitas reset password bagi user. Atau ada cara yang mungkin cukup sederhana untuk mengatasi keadaan diatas?

  3. izulv3 says:

    Assalamualaikum.
    Mas bro, misalkan form input ada
    id username password notlp

    disediakan satu kolom selain kolom diatas untuk generate md5 sehingga jadi satu misalnya
    md5(id.username.passwd.notlp).Nah php codenya gmn?
    Jg bgmn menampilkan md5 yg jadi satu tadi di addressbar misalnya reg.php?id=md5 dst. Thanks.

Leave a comment