Member 14065947 Ответов: 1

Проблема генератора случайных паролей


Привет. Я пытаюсь закодировать генератор случайных паролей, но предполагаю, что возникла проблема.

Проблема:
str2 = Conversions.ToString(random.Next(0, pool.Length))
            str = (str & Conversions.ToString(pool(Conversions.ToInteger(str2))))


Что я уже пробовал:

Dim num As Integer = 0
        Me.TextBox1.Text = ""
        Dim str As String = ""
        Dim random As New Random
        Dim str2 As String = ""
        Do While (num < 3)
            str2 = Conversions.ToString(random.Next(0, pool.Length))
            str = (str & Conversions.ToString(pool(Conversions.ToInteger(str2))))
            num += 1
        Loop
        Me.TextBox1.Text = ("1618ML00" & str & "8")

MadMyche

В чем же проблема? Есть ли исключение, которое выбрасывается?

1 Ответов

Рейтинг:
2

Dave Kreskowiak

Возможно, вы захотите действительно описать проблему. Просто разместив строку кода в качестве проблемы, вы на самом деле ничего не скажете о том, в чем, по вашему мнению, заключается проблема.

Кроме того, эта строка кода сама по себе является проблемой, потому что она так плохо написана, как и весь метод, в котором она находится.

Похоже, вы пытаетесь сгенерировать случайный пароль, используя случайные индексы в массив символов, верно?

Метод должен делать только одно. В этом случае создайте строку, состоящую из случайных символов. Он не должен ничего делать с текстовым полем или препренд/добавлять любые символы, кроме тех, которые он выбирает в строку.

'  Assume "pool" is an array of characters accessible by this method.
Public Function GeneratePasswordString(length As Integer) As String
    If length < 0 Then
        Throw New ArgumentException
    End If

    Dim RNG As New Random
    Dim buffer As New StringBuilder
    Dim index As Integer

    For count As Integer = 1 to length
        index = RNG.Next(0, pool.length)
        buffer.Append(pool(index))
    Next

    Return buffer.ToString
End Function


Member 14065947

Что именно я хочу, так это нажать кнопку button1, чтобы сгенерировать случайные числа, например (123456xxxx), и только (xxxx) будет сгенерирован случайным образом, и когда он это сделает, то покажет textbox1.

Не могли бы вы помочь мне, написав код?

Dave Kreskowiak

Я уже это сделал. Вам предстоит проделать очень легкую работу по соединению пары строк вместе и помещению их в свойство Text текстового поля.