1

VB.Net を独学するための小さなプロジェクトとして、安全なランダム パスワード ジェネレーターを作成しようとしています。C#に関する次の記事に出会いました。

それを VB.Net に変換しようとした後、私のプログラムは、コンボボックスの選択に応じて長さが異なる "0" の文字列を吐き出します。

それは私にとって学習経験であるため、私が間違ったことを理解したいので、どんな助けも大歓迎です。

Imports System.Security.Cryptography
Imports System.Text

Public Class Form1
    Dim randomBytes() As Byte
    Dim randomInt32Value As Integer
    Dim possibleChars As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        System.Security.Cryptography.RandomNumberGenerator.Create.GetBytes(randomBytes)
        randomInt32Value = BitConverter.ToInt32(randomBytes, 0)
    End Sub

    Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerate.Click
        Dim builder As New StringBuilder

        For value1 As Integer = 0 To ComboBox1.SelectedIndex
            Dim r = New Random(randomInt32Value)
            possibleChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()"
            Dim nextInt As Integer = r.Next(possibleChars.Length)
            Dim c As Char = possibleChars(nextInt)
            builder.Append(c)
        Next

        Label1.Text = builder.ToString()
    End Sub
End Class
4

1 に答える 1