[출처 : https://msdn.microsoft.com/ko-kr/library/system.security.cryptography.md5(v=vs.110).aspx]
MD5란?
128비트 암호화 해시 함수이다. 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사등에 사용된다.
[ 출처 : http://ko.wikipedia.org/wiki/MD5 ]
MD5 클래스
: MD5 해시 알고리즘의 모든 구현이 상속될 추상 클래스를 나타냅니다.
Clear | HashAlgorithm 클래스에서 사용하는 모든 리소스를 해제합니다. (HashAlgorithm에서 상속됨) |
Create() | MD5 해시 알고리즘의 기본 구현 인스턴스를 만듭니다. | |
Create(String) | MD5 해시 알고리즘의 지정된 구현의 인스턴스를 만듭니다. |
using System; using System.Security.Cryptography; using System.Text; namespace MD5Sample { class Program { static void Main(string[] args) { string source = "Hello World!"; using (MD5 md5Hash = MD5.Create()) { string hash = GetMd5Hash(md5Hash, source); Console.WriteLine("The MD5 hash of " + source + " is: " + hash + "."); Console.WriteLine("Verifying the hash..."); if (VerifyMd5Hash(md5Hash, source, hash)) { Console.WriteLine("The hashes are the same."); } else { Console.WriteLine("The hashes are not same."); } } } static string GetMd5Hash(MD5 md5Hash, string input) { // Convert the input string to a byte array and compute the hash. byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input)); // Create a new Stringbuilder to collect the bytes // and create a string. StringBuilder sBuilder = new StringBuilder(); // Loop through each byte of the hashed data // and format each one as a hexadecimal string. for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("x2")); } // Return the hexadecimal string. return sBuilder.ToString(); } // Verify a hash against a string. static bool VerifyMd5Hash(MD5 md5Hash, string input, string hash) { // Hash the input. string hashOfInput = GetMd5Hash(md5Hash, input); // Create a StringComparer an compare the hashes. StringComparer comparer = StringComparer.OrdinalIgnoreCase; if (0 == comparer.Compare(hashOfInput, hash)) { return true; } else { return false; } } } } // This code example produces the following output: // // The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c. // Verifying the hash... // The hashes are the same.
반응형
'프로그래밍 > Unity' 카테고리의 다른 글
유니티 파일 외부 프로그램 사용해서 연결하기. (0) | 2015.06.11 |
---|---|
TimeSpan 구조체 (0) | 2015.06.10 |
StreamReader 클래스 (0) | 2015.06.09 |
[c#] Base 키워드 (0) | 2015.06.08 |
What is the difference between a thread and fiber? (0) | 2015.06.04 |
댓글