投稿者 bcltkn  (中学生) 投稿日時 2009/12/6 03:06:07
ご返答ありがとうございます。

daiveさんの紹介してくれたサイトのサンプルコードをもとに、
Private Sub btnLogin_Click(ByVal sender As System.ObjectByVal 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)

のところで「指定されたキーは、このアルゴリズムには有効なサイズではありません。」というエラーが表示されてしまいます。
どうしたらこのエラーはなくなりますか?

人任せですみません。