VBCoding Статьи Visual Basic 6 Visual Basic Генератор псевдослучайных паролей на VB

Visual Basic 6
Генератор псевдослучайных паролей на VB
Для создания простейшего генератора паролей будем использовать:
1. Генератор псевдослучайных чисел;
2. Функцию Chr.

И так, рассмотрим алгоритм:

1. Инициализируем генератор случайных чисел:
Randomize
2. Используем цикл For для генерации каждого символа. Число символов в пароле - от 8 до 12:
For i = 1 To (Rnd * 4) + 8
3. Генерируем псевдослучайное число - ASCII код символа, преобразовываем его в символ функцией Chr и дописываем к паролю:
10 x = (Rnd * (120 - 48)) + 48
If (x > 57) And (x < 65) Then GoTo 10
If (x > 90) And (x < 97) Then GoTo 10
Pass = Pass & Chr(x)
4. Ну, и заканчиваем цикл:
Next

В результате, дописав все объявления переменных и т.п., получаем такой код для генерации 8-12 значного пароля:
Public Function GeneratePassword() As String
Dim Pass As String, i As Byte, x As Byte
Randomize
For i = 1 To (Rnd * 4) + 8
10 x = (Rnd * (120 - 48)) + 48
'Если это не алфавитно-цифровой символ - пробуем еще раз
If (x > 57) And (x < 65) Then GoTo 10
If (x > 90) And (x < 97) Then GoTo 10
Pass = Pass & Chr(x)
Next
GeneratePassword = Pass
End Function

Теперь поговорим, как можно сделать генерацию с использованием коллекции символов. Для этого объявляем массив arr и присваем каждому его элементу один символ. Удалим строку 10 и две следующии, сделаем необходимые извенения:
Pass = Pass & arr(Rnd * UBound(arr))
Функция UBound возвращает номер последнего элемента массива.
Теперь, в качестве символа, случайно выбирается один из элементов массива.

Public Function GeneratePassword() As String
Dim Pass As String, arr() As String, i As Byte
arr = Split("0,1,2,3,4,5,6,7,8,9,a,b,c,d", ",")
Randomize
For i = 1 To (Rnd * 4) + 8
Pass = Pass & arr(Rnd * UBound(arr))
Next
GeneratePassword = Pass
End Function

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

Копирование, цитирование, хранение, перепечатка и/или публикация данной статьи разрешены только при обязательном указании прямой ссылки на сайт http://www.vbcoding.org.ua , E-Mail автора и данного предупреждения. Статья может быть исправлена и/или дополнена автором без уведомления читателей.


Автор: Влад Таранов, Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript .
 

Добавить комментарий


Защитный код
Обновить

 
VBCoding Статьи Visual Basic 6 Visual Basic Генератор псевдослучайных паролей на VB  
Powered by Exponenta -