Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click Dim UserName As String = Me.txtUserName.Text Dim PswDataPath As String = Application.StartupPath & "\pswdata\" & UserName & ".upf" '".upf"は、パスワード格納ファイルの拡張子 (User's Password File) ' CryptData 配列から destination 配列へ変換 ' 暗号化された文字列を byte 配列に変換します Dim sr As New StreamReader(PswDataPath) Dim data As String = sr.ReadToEnd() Dim source As Byte() = Encoding.Unicode.GetBytes(data) ' Triple DES のサービス プロバイダを生成します Dim des As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider ' 入出力用のストリームを生成します Dim ms As MemoryStream = New MemoryStream Dim cs As CryptoStream = New CryptoStream(ms, des.CreateDecryptor(DesKey, DesIV), CryptoStreamMode.Write) ' ストリームに暗号化されたデータを書き込みます cs.Write(CryptData, 0, CryptData.Length) cs.Close() ' 復号化されたデータを byte 配列で取得します Dim destination As Byte() = ms.ToArray() ms.Close() If Me.txtPassword.Text = Encoding.Unicode.GetString(destination) Then MsgBox("true") Else MsgBox("false") End If sr.Close() End Sub
cs As CryptoStream = New CryptoStream(ms, des.CreateDecryptor(DesKey, DesIV), CryptoStreamMode.Write)