Ваш запрос не может быть обработан Show Зарегистрируйтесь или войдите на Facebook, чтобы продолжить. Присоединиться или Вход ❮ PHP String Reference ExampleCalculate the MD5 hash of the string "Hello": <?php Try it Yourself » Definition and UsageThe md5() function calculates the MD5 hash of a string. The md5() function uses the RSA Data Security, Inc. MD5 Message-Digest Algorithm. From RFC 1321 - The MD5 Message-Digest Algorithm: "The MD5 message-digest algorithm takes as input a message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input. The MD5 algorithm is intended for digital signature applications, where a large file must be "compressed" in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA." To calculate the MD5 hash of a file, use the md5_file() function. SyntaxParameter Values
Technical Details
More ExamplesExamplePrint the result of md5(): <?php Try it Yourself » ExamplePrint the result of md5() and then test it: <?php if (md5($str) == "8b1a9953c4611296a827abf8c47804d7") Try it Yourself » ❮ PHP String Reference php leveling and login md5 Tutorial beberapa bulan yang lalu, saya telah menjelaskan dan memberikan sedikit contoh mengenai implementasi level admin menggunakan session pada web berbasis PHP. Percobaan sederhana tersebut masih memiliki banyak kelemahan terutama pada fungsi header dan juga security. Download Sampel + Database Oleh karena itu, saya akan melengkapinya dengan beberapa perubahan fungsi PHP header location dan penambahan security login menggunakan MD5. Jika anda belum membaca dan mempraktikan tutorial sebelumnya, saya sarankan untuk mencoba mengaplikasikan tutorial tersebut, disini. Dalam tutorial ini, hal paling menonjol terletak pada penambahan fungsi “Add User/Admin” yang miliki fitur enkripsi MD5, dimana telah banyak dipakai pada mayoritas aplikasi web berbasis PHP untuk security login. MD5 sendiri merupakan sebuah rekayasa kriptografi untuk karakter yang menghasilkan hash. 😀
Persiapan database dan konfigurasiPenulis membuat database dengan nama Leveling dan membuat sebuah table ‘user’ yang berisi field, berikut : Setelah desain database kita buat seperti diatas, insert secara manual user dengan nama Admin. Untuk password, kita bisa memanfaatkan MD5 Online Generator seperti di laman www.md5.cz, Caranya, tinggal kita masukkan kombinasi huruf password dan klik button “hash darling, hash!” 😀 Untuk konfigurasi database, buatlah file config.php dan ketik kode standar konfigurasi seperti di bawah ini : <?php $host="localhost"; $user="root"; $password=""; $koneksi=mysql_connect($host,$user,$password) or die("Gagal koneksi mas bro..!"); mysql_select_db("leveling"); ?> Membuat halaman Index / LoginLangkah selanjutnya adalah membuat halaman index.php yang berisi tampilan login utama kita. Pada form index login ini, kita akan melemparnya melalui action ke dalam file login.php. Berikut adalah script index.php dan login.php yang bisa Anda ketik : <?php // memulai session session_start(); error_reporting(0); if (isset($_SESSION['level'])) { // jika level admin if ($_SESSION['level'] == "admin") { header('location:admin.php'); } // jika kondisi level user maka akan diarahkan ke halaman lain else if ($_SESSION['level'] == "user") { header('location:user.php'); } } ?> <div id="form"> <form method="post" action="login.php" class="form-horizontal"> <label class="username">Username</label><br> <input class="input" type="text" name="username" placeholder="Masukkan Username"><br> <label class="password">Password</label><br> <input class="input" type="password" name="pass" placeholder="Masukkan Password"><br> <button type="submit" name="submit" class="btn">Login</button> </form> </div> Login.php script, <?php session_start(); include 'config.php'; $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string($_POST['pass']); $password = md5($password); // query untuk mendapatkan record dari username $query = "SELECT * FROM user WHERE username = '$username'"; $hasil = mysql_query($query); $data = mysql_fetch_array($hasil); // cek kesesuaian password if ($password == $data['password']) { echo "sukses"; // menyimpan username dan level ke dalam session $_SESSION['level'] = $data['level']; $_SESSION['username'] = $data['username']; //Penggunaan Meta Header HTTP echo '<META HTTP-EQUIV="Refresh" Content="0; URL=admin.php">'; exit; } else echo '<h2>Login gagal</h2>'; ?> Nah, dari script login.php Anda bisa melihat dua buah fungsi keamanan yang umum dipakai oleh developer PHP.
Membuat halaman Admin / Insert UserPada file login.php, kita telah menuliskan beberapa kode jika kombinasi username dan password sesuai maka user akan ‘dilempar’ ke sebuah halaman admin.php menggunakan fungsi Meta Header Refresh. Fungsi ini akan berguna jika server PHP kita masih menggunakan PHP versi lawas. Berikut adalah script untuk halaman admin.php, dimana pada halaman tersebut berisi form untuk membuat user baru memanfaatkan fungsi MD5 dan juga anti SQL Injection. 🙂 <?php session_start(); error_reporting(0); include 'config.php'; $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string($_POST['pass']); $password = md5($password); $level = $_POST['level']; // query untuk insert data user baru if (isset($username) && isset($password) && isset($level)) { $insert = "insert into user set username = '$username', password = '$password', level = '$level'"; if (mysql_query($insert)) { echo "<h3>User berhasil ditambahkan</h3>"; } else { echo "<h3>User gagal ditambahkan</h3>"; } } ?> <?php // memulai session session_start(); error_reporting(0); if (isset($_SESSION['level'])) { // jika level admin if ($_SESSION['level'] == "admin") { echo "<h3>Form add user</h3>"; echo "<form method='post' action='admin.php' class='form-horizontal'> <label class='username'>Add Username</label><br> <input class='input' type='text' name='username' placeholder='Username'><br> <label class='password'>Password</label><br> <input class='input' type='password' name='pass' placeholder='Password'><br> <label class='level'>Level</label><br> <select class='level' name='level'> <option value='admin'>Admin</option> <option value='user'>User</option> </select> <button type='submit' name='submit' class='btn'>Add user</button> </form>"; echo "<a class='logout' href='logout.php'>Logout Now</a>"; } // jika kondisi level user maka akan diarahkan ke halaman lain else if ($_SESSION['level'] == "user") { echo '<META HTTP-EQUIV="Refresh" Content="0; URL=user.php">'; exit; } } if (!isset($_SESSION['level'])) { echo '<META HTTP-EQUIV="Refresh" Content="0; URL=index.php">'; exit; } ?> Oke, selesai. Jika tutorial di atas pembaca ikuti dan pahami dengan saksama, saya pastikan aplikasi sederhana leveling dan securing menggunakan MD5 akan berjalan dengan baik. Saya telah menyertakan source code dan database untuk pembaca implementasikan. Download Sampel + Database
Apa itu MD5 di PHP?Fungsi String md5() Pada PHP
Algoritme MD5 adalah ditujukan untuk aplikasi tanda tangan digital, di mana file besar harus “dikompresi” dengan cara yang aman sebelum dienkripsi dengan kunci pribadi (rahasia) di bawah sistem kriptografi kunci publik seperti RSA. “
Apakah MD5 bisa di decrypt?Cara Decrypt Password MD5 di PHP
Algoritma kriptografi MD5 tidak reversibel yaitu Kami tidak dapat mendekripsi nilai hash yang dibuat oleh MD5 untuk mendapatkan input kembali ke nilai aslinya. Jadi tidak ada cara untuk mendekripsi password MD5.
Apa itu enkripsi password?Enkripsi adalah teknik untuk mengamankan data-data tersebut agar isinya tidak diketahui orang lain. Enkripsi biasanya dilakukan terhadap data-data sensitif seperti password. Enkripsi akan menjamin data-data tetap aman meskipun berada di tangan orang lain, karena mereka tidak tahu isi aslinya.
|