Minggu, 22 April 2012

Enkripsi MD5, SHA, DES dan RSA dengan Bahasa C#.NET

Apabila anda pernah memakai bahasa pemrograman PHP dan Database MySQL, maka anda pasti tidak asing dengan fungsi MD5() di PHP dan ada juga fungsi MD5() di MySQL, fungsi tersebut digunakan untuk menghasilkan enkripsi dari suatu kata atau password dalam format MD5.

Jika anda menggunakan bahasa pemrograman C#.NET, sebenarnya anda dapat melakukan lebih banyak tipe enkripsi, baik MD5, SHA, DES, RSA dsb. Caranya gunakan kode program di bawah ini :

Jangan lupa menambahkan import library berikut :

using System.Security.Cryptography;

using System.Text;


Kemudian tambahkan kode program di bawah ini :

String str = "abcdef";

Encoder enc = System.Text.Encoding.Unicode.GetEncoder();


byte[] unicodeText = new byte[str.Length * 2];

enc.GetBytes(str.ToCharArray(), 0, str.Length, unicodeText, 0, true);


MD5 md5 = new MD5CryptoServiceProvider();

//SHA1 md5 = new SHA1CryptoServiceProvider();

//DES md5 = new DESCryptoServiceProvider();

//RSA md5 = new RSACryptoServiceProvider();

byte[] result = md5.ComputeHash(unicodeText);


StringBuilder sb = new StringBuilder();

for (int i = 0; i < result.Length; i++)

{

sb.Append(result[i].ToString("X2"));

}


this.Text = sb.ToString();

}

Anda dapat mengganti "abcdef" dengan kata yang anda butuhkan, dan menggunakan tipe enkripsi yang lain yang anda inginkan dengan mengaktifkan baris berikut :

//MD5 md5 = new MD5CryptoServiceProvider(); // Untuk enkripsi MD5

//SHA1 md5 = new SHA1CryptoServiceProvider(); // Untuk enkripsi SHA1

//DES md5 = new DESCryptoServiceProvider(); // Untuk enkripsi DES

//RSA md5 = new RSACryptoServiceProvider()' // Untuk enkripsi RSA