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