… Cara Mudah Menerapkan Hash Function …
Tulisan berikut bercerita tentang bagaimana menerapkan metode MD5 dan SHA1 pada ASP.NET yang merupakan salah satu alhoritma Hash. Fungsi hash secara sederhana dapat diartikan sebagai fungsi yang secara efisien mengubah string input dengan panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash. Sebagai ilustrasi, jika kita menggunakan kata rahasia sebagai password dengan metode SHA1, maka akan menghasilkan hashing output 829B36BABD21BE519FA5F9353DAF5DBDB796993E.
Pada ASP.NET, kita dapat menggunakan secara langsung metode kriptografi menggunakanan fungsi FormsAuthentication.HashPasswordForStoringInConfigFile. Namun, fungsi ini hanya menerima passwordFormat berupa Clear, MD5 dan SHA1.
'Deklarasi Public Shared Function HashPasswordForStoringInConfigFile (password As String, passwordFormat As String) As String
Berikut contoh penggunaan sederhana pada halaman ASPX
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Latihan MD5 & SHA1 Pada ASP.NET</title> </head> <body> <form id="form1" runat="server"> <div> <asp:label id="lblReadValue" Font-Size="10pt" Font-Name="Verdana" Font-Bold="True" Runat="server" Text="Masukan Kata" Font-Names="Verdana" /> <asp:TextBox ID="txtKata" runat="server" Width="128px"></asp:TextBox> <br /> <asp:label id="lblReadValue0" Font-Size="10pt" Font-Name="Verdana" Font-Bold="True" Runat="server" Text="Pilih Metode" Font-Names="Verdana" /> <asp:dropdownlist id="ddlMetode" Runat="server" Width="79px" Height="20px"> <asp:ListItem Value="SHA1">SHA1</asp:ListItem> <asp:ListItem Value="MD5">MD5</asp:ListItem> </asp:dropdownlist><br/><br/> <asp:button id="cmdEnkripsi" Runat="server" Text="Enkripsi" /><br/><hr align="left" width="800" size="1"/> <asp:label id="lblShowValue" Font-Size="10pt" Font-Name="Verdana" Font-Bold="True" Runat="server" Text="Hasil Enkripsi" Font-Names="Verdana" /> <asp:textbox id="txtHasil" Runat="server" Width="375px" /> </div> </form> </body> </html> 'Code Behind ASPX Partial Class Default3 Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If IsPostBack = False Then ddlMetode.Items.Add("") ddlMetode.SelectedValue = "" End If End Sub Protected Sub cmdEnkripsi_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdEnkripsi.Click 'Ini fungsi Hashing txtHasil.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(txtKata.Text, ddlMetode.SelectedValue) End Sub End Class
Sebagai catatan, secara teori, dengan Algoritma Hashing, kita hanya bisa meng-enkripsi, tanpa bisa melakukan dekripsi ulang. Namun, dengan beredarnya website-website yang menawarkan jasa mendekripsi password hashing (MD5/SHA1) semisal :
– http://www.md5decrypter.com/
– http://www.md5decrypter.co.uk/
– http://md5-decrypter.com/
– http://md5decryption.com/
– http://sha1.web-max.ca/
– http://www.md5decrypter.co.uk/sha1-decrypt.aspx
– http://worddecrypter.com/
– http://sha-decrypter.qarchive.org/
Maka, penggunaan strong password adalah mutlak diperlukan hehehe. Metode yang memungkinkan untuk menebak MD5/SHA1 adalah dengan Brute Force. Oleh karenanya, kombinasi password huruf, angka dan karakter spesial akan menghasilkan sebuah password yang baik. Selamat Mencoba.
Referensi:
– MSDN
– Kekuatan Password
mantap,,,makasih banyak ilmunya…salam hangat,,,
Terima Kasih Bayak,
Semoga bermanfaat 🙂 walau cuma sedikit hehe
Salam,
YP
menarik sekali, thanks 4 share, tapi saya sendiri blom menjamah ke ASP.NET nih, lumayan buat koleksi dulu sebelum masuk ke materi awal, matur nuwun.
kalo not found itu knp ya ka?