(10101101)173/C#2009. 3. 11. 03:05
우선 using문으로 System.Security.Cryptography를 추가해 주면 C#에서 제공하는 MD5사용이 가능 합니다.

생각보다 짧은 코드로 구현이 가능합니다.

A에서 B로 출력하는 경우 다음과 같이 적용됩니다.

private void ~
{
B.Text = MD5HashFunc(A.Text);
}

public string MD5HashFunc(string str)
{
StringBuilder MD5Str = new StringBuilder();
byte[] byteArr = Encoding.ASCII.GetBytes(str);
byte[] resultArr = (new MD5CryptoServiceProvider()).ComputeHash(byteArr);

//for (int cnti = 1; cnti < resultArr.Length; cnti++) (2010.06.27)
for (int cnti = 0; cnti < resultArr.Length; cnti++)
{
MD5Str.Append(resultArr[cnti].ToString("X2"));
}
return MD5Str.ToString();
}

[그림 1. MD5 프로그램]

위 코드로 만든 간단한 MD5 프로그램은 아래 압축파일에 들어 있으며

Visual Studio 2008에서 만들어 졌지만 .NET Framework는 2.0이상이면 됩니다.

2010. 06. 27
zdayatk님이 발견하신 오류 부분을 수정하였습니다.
수정 부분은 for문에서 cnti의 초기 값이 1에서 0으로 바뀌었습니다.
같이 올린 소스 압축파일이 깨져서 다시 올립니다.

2012. 11. 07
나모찾기님이 포스트에는 아직도 1이라고 알려 주셔서 같은 부분을 다시 수정하였습니다.


Posted by Special Alex