Здравствуйте! Сегодня: Пт, 23 Авг 2019, Ваш IP: 3.83.192.109 Войти через loginza
 
Вход | Регистрация | Забыли пароль?
Мой Kbyte.Ru
> Список форумов Kbyte.Ru - - Общие вопросы программирования
+ Создать новую тему Страница: 1
Тема: Генератор пароля без повторов. · +  +  дата добавления: 29.09.2015 / 11:00
Автор темы:
email333333
email333333
тем: 16 / ответов: 30 / благодарностей: 0 / репутация: 2
ответов: 30
создал(а) тем: 16


Здравствуйте.
Подскажите как реализовать этот пункт:
Дан алфавит для генерации паролей: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
Цель: Сгенерировать пароль от 8 до 10 символов, чтобы в нем обязательно присутствовали 1 буква в верхнем и нижнем регистре и 1 цифра, помимо прочих символов. Не должно присутствовать двух одинаковых идущих друг за другом символов типа <qwwErty>.

Как я понял, проверку можно делать на основе if m(i)=m(i+1) then...
А как обеспечить условие обязательного присутствия 1 буквы в верх.регистре, 1 буквы в нижнем и 1 цифры при генерации пароля?

Спасибо.
Технологии: Visual Basic .NET
 
Ответ # 1 # · +  +  дата добавления: 03.10.2015 / 16:47
Автор ответа:
i32
i32
тем: 71 / ответов: 280 / благодарностей: 2 / репутация: 38
ответов: 280
создал(а) тем: 71


Я думаю надо тебе возле этой функции поплесать...
 Public Function GenerateCode() As Object
        Dim intrnd As Object
        Dim intstep As Object
        Dim strname As Object
        Dim intnamelength As Object
        Dim intlength As Object
        Dim strinputstring As Object
        strinputstring = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
        intlength = Len(strinputstring)
        intnamelength = 10 'количество строк
        Randomize()
        strname = "as" ' первые строки
        For intstep = 1 To intnamelength
            intrnd = Int((intlength * Rnd()) + 1)
            strname = strname & Mid(strinputstring, intrnd, 1)
        Next
        GenerateCode = strname
    End Function
А далее удалять что не надо или что повториться...
 
Страница: 1 + Создать новую тему