При первом входе в защищенную компьютерную систему отсутствует файл, содержащий аутентифицирующий объект пользователей. Создается новый файл и заполняется аутентифицирующий объект, содержащий только данные администратора. Введенный пароль шифруется; логин (“god”, без возможности изменения) и закрытый пароль записываются в файл.
Входные данные:
· pass – открытый пароль, вектор целых чисел длинной 10
Выходные данные:
· login – имя пользователя, строка
· crypt_pass – закрытый пароль, вектор целых чисел длинной 10
· User.bin – файл, содержащий аутентифицирующий объект
Промежуточные данные:
· login –имя пользователя, принудительно задаваемое системой, строка. Содержимое: “god”
Ввод пароля
Шифрование
Запись в АутОбъект
Запись в файл
При входе в защищенную компьютерную систему считывается файл, содержащий аутентифицирующий объект пользователей. Пользователю отображается форма входа в защищенную компьютерную систему:
Происходит поиск введенного логина в аутентифицирующем объекте. Если логин не найден – выводится сообщение об ошибке:
Если логин найден – пароль шифруется и сравнивается с паролем, соответствующим введенному логину, в аутентифицирующем объекте. Если пароли не совпадают – выводится сообщение об ошибке:
Если зашифрованный пароль совпадает с паролем в аутентифицирующем объекте:
· Введенный логин – логин администратора (“god”) – выводится форма администратора:
· Введенный логин не совпадает с логином администратора – выводится сообщение об успешном входе в систему:
Входные данные:
· login – имя пользователя, строка
· pass – открытый пароль, вектор целых чисел длинной 10
· АутОбъект – аутентифицирующий объект, содержащий:
o АутОбъект.login – имя пользователя, строка
o АутОбъект.crypt_pass – закрытый пароль, вектор целых чисел длинной 10
Выходные данные:
· Сообщения:
o «Логин не найден! Повторите ввод»
o «Пароль не верен! Повторите ввод»
o «Вход произведен. Вы в системе
Загрузка из файла АутОбъект
Для k = 0, 1… , kol, с шагом 1
Если АутОбъект.login[k] = login
Для i = 0, 1… 10, с шагом 1
Если crypt_pass[k][i] != pass [i]
Сообщение: «Не верный пароль»
Если Login[k] = “god”, тогда
Вывод формы администратора
Иначе
Сообщение: «Вход в систему»
Сообщение: «Логин не найден»
private void button1_Click(object sender, EventArgs e)
{
К_запись_в_файл.File_Read();
КПользователь Пользователь = new КПользователь();
string login = textBox1.Text;
string password = textBox2.Text;
bool flag = true;
int key = -1; //номер пользователя
foreach (КПользователь пользователь in Global.АутОбъект)
{
key++;
if (пользователь.Get_login() == login)
{
flag = false;
if (пользователь.Get_password() == КШифрование.Шифрование(password))
{
if (пользователь.Get_login() == "god")
{
Форма_администратора форма_администратора = new Форма_администратора();
форма_администратора.Show();
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.