ASP .NET 'de MD5 Uygulaması

Eyl 08, 2013

Windows Form uygulamasında şifreleme yapan metot aşağıda gösterilmiştir. getMd5Hash metoduyla bu işlem gerçekleştirilir. Şifrelenmiş veri byte tipinde data dizisine kaydedilir, çünkü md5Hasher sınıfının ComputeHash metodu bu tipte veri döndürür. For döngüsü yardımıyla dizi elemanları tek tek kontrol edilir ve ToString("x2") metoduyla onaltılık tabanda hegzadesimal formata çevrilir.

public string getMd5Hash(string input)
{
    MD5 md5Hasher = MD5.Create();
    byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
    StringBuilder sBuilder = new StringBuilder();
    for (int i = 0; i < data.Length; i++)
    {
        sBuilder.Append(data[i].ToString("x2"));
    }
    return sBuilder.ToString();
}

Design kısmından form oluşturulduktan sonra kod kısmına gelinir ve Security.Cryptography kütüphanesi eklenir.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;

namespace md5
{
     public partial class Form1 : Form
     {
          public Form1()
          {
                InitializeComponent();

          }

             // düğmeye basıldığında yapılacak işlem

                 private void btsifre_Click(object sender, EventArgs e)

          {
                tbSifreli.Text = getMd5Hash (tbSifrelenecek.Text);
          }

         }

}

 

 

Eğer aynı işlem Web Uygulaması olarak yapılırsa yine bir form oluşturulur.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="son.aspx.cs" Inherits="son" %><!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></title>
</head>
<body>
<form id="form1" runat="server">

<asp:Label ID="lbSifrelenecek" runat="server" Text="şifrelenecek veriyi giriniz:"></asp:Label>
<asp:TextBox ID="tbSifrelenecek" runat="server"></asp:TextBox>
<asp:Button ID="btSifre" runat="server" Text="Şifrele" />
<asp:Label ID="lbSifreli" runat="server" Text="verinin şifrelenmiş hali:"></asp:Label>
<asp:TextBox ID="tbSifreli" runat="server"></asp:TextBox>

</form>
</body>
</html>

Kod kısmına gelindiğinde bu sefer Windows Form'dan farklı olarak Web.Security kütüphanesi eklenir.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

public partial class md5 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btSifrele_Click(object sender, EventArgs e)
    {
       tbSifreli.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(tbSifrelenecek.Text, "MD5");
    }
}

Bazı MD5 şifreleme örnekleri

şifre: 1234
MD5 Hash: 81dc9bdb52d04dc20036dbd8313ed055

şifre: itu2012
MD5 Hash: 6fe1d2eb886269922f8eb67ed72da8f7

şifre: ITU2012
MD5 Hash: 32f49bbc833ef557f79433ff9a013c73

şifre: 123aBc?=
MD5 Hash: fd170a5bf99d952ce12f54fa9a6a853e