Tips - Visual Basic

【TOP】

メッセージダイジェストを生成する
メッセージダイジェストは認証やデジタル署名などに使われる技術で、原文からハッシュアルゴリズムを用いて固定長の値(ハッシュ値) を生成します。生成されたハッシュ値は不可逆で、同じハッシュ値を生成する文字列を特定することは非常に困難です。

主な用途の1つにパスワードの管理が挙げられます。データベースにパスワードをそのまま格納すると、それが外部に漏れると簡単に 悪用される恐れがあるため、代わりにパスワードのメッセージダイジェストを格納しておき、ログイン時に入力されたパスワードから メッセージダイジェストを生成し、両者を比較することで認証を行うという使用方法が考えられます。
以下は .NET Framework に実装されている MD5CryptoServiceProvider を使ってハッシュ値を計算する例です。
MD5 は IETF で RFC1321 として標準化されています。
'MD5によるメッセージダイジェストを生成する。 Private Function CreateMD(ByVal strMessage As String) As String Dim bytMessage As Byte() Dim bytMD5 As Byte() Dim strMD5 As String Dim MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider Try '入力文字列をバイト文字列に変換する。 bytMessage = System.Text.Encoding.Unicode.GetBytes(strMessage) 'MD5ハッシュ値を計算する。 bytMD5 = MD5.ComputeHash(bytMessage) '計算したハッシュ値を文字列型に変換する。 strMD5 = System.BitConverter.ToString(bytMD5) Catch ex As Exception Throw ex Finally MD5.Clear() MD5 = Nothing End Try Return strMD5 End Function
「Visual Basic」という文字列からメッセージダイジェストを生成した結果は以下のようになります。
「Visual Basic」→「2D-DF-19-B3-F7-D6-05-D1-A5-D4-BA-22-06-86-D8-89」
【戻る】