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