MD5CryptoServiceProviderを利用して文字列をMD5でハッシュ化(暗号化)のC#関数

MD5(エムディーファイブ、Message Digest Algorithm 5)というものは、MITのロナルド・リベスト教授開発された、入力にたして128バイトのハッシュ形式で出力することである。

パスワードなどセキュリティ要求があるアプリケーションには、テキスト形式ではなくて、暗号化しなければいけないですね。

電子署名を必要とするアプリケーションなども、RSAで署名を生成する際に、メッセージを直接対象として署名を生成するのではなく、メッセージのハッシュ値を生成し、ハッシュ値に対して署名を生成する。このようないろいろなところはMD5を使える。

C、C++でMD5を実装するのはそんな簡単ではないですが、C#だったら、MD5CryptoServiceProviderを利用して簡単で実現できます。下記は関数のソースコードです。



public string md5EncodeString(string inputString)
{

// Encrypt this user’s password information.
MD5 md5EncryptionObject = new MD5CryptoServiceProvider();
Byte[] originalStringBytes = ASCIIEncoding.Default.GetBytes(inputString);
Byte[] encodedStringBytes = md5EncryptionObject.ComputeHash(originalStringBytes);

// Assign encrypted code as the user’s password.
return BitConverter.ToString(encodedStringBytes);
}

Leave a Reply

Your email address will not be published. Required fields are marked *