private void btnKey_Click(object sender, EventArgs e) { /* 1) Считывание пароля из файла. * 2) Шифрование принятого пароля "data = txtPas.Text". * 3) Проверка зашифрованного пароля и пароля в файле(3 попытки). * Если Введёный == Сохранённый пароли сопадают: * 4) Генерация НОВОГО ключа. * 5) Шифрование пароля. * 6) Запись в файл. * 7) Передача ключа в конструктор формы "LabelKeyForm1". * 8) Открытие формы "LabelKeyForm1". * Иначе * 4) Сообщение об ошибке(еще 2 попытки). * 5) Открытие формы "LogForm" для ввода пароля. */ string EncodePas; // Новый сгенерированный пароль. string EnterPas; // Введёный (Зашифрованный) пароль. String UserData; // Сохранённый в файле (Зашифрованный) пароль. if (txtKey.Text == "") // Если поле для ввода клча пустое. { MessageBox.Show("Поле ключа не может быть пустым!"); } // (1). UserData = b.ReadFromFile(); // Если длинна введенного пароля больше чем зашифрованного. // Такая проверка нужна потому что алгоритм не будет работать, // и если не обработать это условие ошибка вылезет в функции "Encode"(выход за границы массива). if ((data.Length > UserData.Length) || (data.Length < UserData.Length)) { // (4). MessageBox.Show(String.Format("Неправильный пароль или ключ!\nОсталось попыток: {0}", Func.PopytkaNum)); Func.PopytkaNum--; if (Func.PopytkaNum < 0) { MessageBox.Show("Попытки закончились!"); Application.Exit(); } LogForm f = new LogForm(); // (5). this.Hide(); f.ShowDialog(); this.Close(); } else { // (2). EnterPas = b.Encode(data, txtKey.Text); // (3). if (UserData == EnterPas) // Проверка Введённого и Сохранённого в файле пароля. { // (4). Func.Key = b.GenKey(); // (5). EncodePas = b.Encode(data, Func.Key); // (6). b.WriteInFile(EncodePas); // (7). LabelKeyForm1 f = new LabelKeyForm1(); // (8). this.Hide(); f.ShowDialog(); this.Close(); } else { // (4). MessageBox.Show(String.Format("Неправильный пароль или ключ!\nОсталось попыток: {0}", Func.PopytkaNum)); Func.PopytkaNum--; if (Func.PopytkaNum < 0) { MessageBox.Show("Попытки закончились!"); Application.Exit(); } LogForm f = new LogForm(); // (5). this.Hide(); f.ShowDialog(); this.Close(); } } }
private void btnKey_Click(object sender, EventArgs e) { /* * 2) Шифрование принятого пароля "data = txtPas.Text". * 3) Проверка зашифрованного пароля и пароляна флешке(3 попытки). * Если Введёный == Сохранённый пароли сопадают: * 4) Генерация НОВОГО ключа. * 5) Шифрование пароля. * 6) Запись в файл. * 7) Запись на флешку. * 8) Передача ключа в конструктор формы "LabelKeyForm1". * 9) Открытие формы "LabelKeyForm1". * Иначе * 4) Сообщение об ошибке(еще 2 попытки). * 5) Открытие формы "LogForm" для ввода пароля. */ string EncodePas; // Новый сгенерированный пароль. string EnterPas; // Введёный (Зашифрованный) пароль. if (txtKey.Text == "") // Если поле для ввода клча пустое. { MessageBox.Show("Поле ключа не может быть пустым!"); } else { // (2). EnterPas = b.Encode(Func.Pas, txtKey.Text); // (3). if (txtPas.Text == EnterPas) // Проверка Введённого и Сохранённого пароля. { // (4). Func.Key = b.GenKey(); // (5). EncodePas = b.Encode(Func.Pas, Func.Key); // (6). b.WriteInFile(EncodePas); SafeFileHandle handle = CreateFile( lpFileName: @"\\.\" + Func.FlashDrive, dwDesiredAccess: FileAccess.Read, dwShareMode: FileShare.ReadWrite, lpSecurityAttributes: IntPtr.Zero, dwCreationDisposition: System.IO.FileMode.OpenOrCreate, dwFlagsAndAttributes: FileAttributes.Normal, hTemplateFile: IntPtr.Zero); using (FileStream disk = new FileStream(handle, FileAccess.Read)) { mbrData = new byte[512]; disk.Read(mbrData, 0, 512); } handle = CreateFile( lpFileName: @"\\.\" + Func.FlashDrive, dwDesiredAccess: FileAccess.Write, dwShareMode: FileShare.ReadWrite, lpSecurityAttributes: IntPtr.Zero, dwCreationDisposition: System.IO.FileMode.OpenOrCreate, dwFlagsAndAttributes: FileAttributes.Normal, hTemplateFile: IntPtr.Zero); using (FileStream disk = new FileStream(handle, FileAccess.Write)) { for (int i = 0; i < EncodePas.Length; i++) { mbrData[384 + i] = (byte)EncodePas[i]; } disk.Write(mbrData, 0, 512); } // (7). LabelKeyForm1 f = new LabelKeyForm1(); // (8). this.Hide(); f.ShowDialog(); this.Close(); } else { // (4). MessageBox.Show(String.Format("Неправильный пароль или ключ!\nОсталось попыток: {0}", Func.PopytkaNum)); Func.PopytkaNum--; if (Func.PopytkaNum < 0) { MessageBox.Show("Попытки закончились!"); Application.Exit(); } LogForm f = new LogForm(); // (5). this.Hide(); f.ShowDialog(); this.Close(); } } }
private void btnKey_Click(object sender, EventArgs e) { string EncodePas; string EnterPas; if (txtKey.Text == "") { MessageBox.Show("Поле ключа не может быть пустым!"); } else { EnterPas = b.Encode(Func.Pas, txtKey.Text); if (txtPas.Text == EnterPas) { Func.Key = b.GenKey(); EncodePas = b.Encode(Func.Pas, Func.Key); b.WriteInFile(EncodePas); SafeFileHandle handle = CreateFile( lpFileName: @"\\.\" + Func.FlashDrive, dwDesiredAccess: FileAccess.Read, dwShareMode: FileShare.ReadWrite, lpSecurityAttributes: IntPtr.Zero, dwCreationDisposition: System.IO.FileMode.OpenOrCreate, dwFlagsAndAttributes: FileAttributes.Normal, hTemplateFile: IntPtr.Zero); using (FileStream disk = new FileStream(handle, FileAccess.Read)) { mbrData = new byte[512]; disk.Read(mbrData, 0, 512); } handle = CreateFile( lpFileName: @"\\.\" + Func.FlashDrive, dwDesiredAccess: FileAccess.Write, dwShareMode: FileShare.ReadWrite, lpSecurityAttributes: IntPtr.Zero, dwCreationDisposition: System.IO.FileMode.OpenOrCreate, dwFlagsAndAttributes: FileAttributes.Normal, hTemplateFile: IntPtr.Zero); using (FileStream disk = new FileStream(handle, FileAccess.Write)) { for (int i = 0; i < EncodePas.Length; i++) { mbrData[384 + i] = (byte)EncodePas[i]; } disk.Write(mbrData, 0, 512); } LabelKeyForm1 f = new LabelKeyForm1(); this.Hide(); f.ShowDialog(); this.Close(); } else { MessageBox.Show(String.Format("Неправильный пароль или ключ!\nОсталось попыток: {0}", Func.PopytkaNum)); Func.PopytkaNum--; if (Func.PopytkaNum < 0) { MessageBox.Show("Попытки закончились!"); Application.Exit(); } LogForm f = new LogForm(); this.Hide(); f.ShowDialog(); this.Close(); } } }
private void btnKey_Click(object sender, EventArgs e) { string Key, EncodePas; // Новый ключ сгенерированный пароль к нему. string EnterPas; // Введёный (Зашифрованный) пароль. String UserData; // Сохранённый в файле (Зашифрованный) пароль. // 1) Считывание пароля из файла. UserData = b.ReadFromFile(); // Если длинна введенного пароля больше для зашифрованного. //Такая проверка нужна потому что алгоритм не будет работать. if (data.Length > UserData.Length) { // 4) Сообщение об ошибке(еще 2 попытки). MessageBox.Show(String.Format("Неправильный пароль или ключ!\nОсталось попыток: {0}", PopytkaNum)); PopytkaNum--; LogForm f = new LogForm(); // 5) Открытие формы "LogForm" для ввода пароля. this.Hide(); f.ShowDialog(); this.Close(); if (PopytkaNum < 0) { MessageBox.Show("Попытки закончились!"); this.Close(); } } // 2) Шифрование принятого пароля "data = txtPas.Text". EnterPas = b.Encode(data, txtKey.Text); // 3) Проверка зашифрованного пароля и пароля в файле(3 попытки). if (UserData == EnterPas) // Проверка Введённого и Сохранённого в файле пароля. { // 4) Генерация НОВОГО ключа. Key = b.GenKey(); // 5) Шифрование пароля. EncodePas = b.Encode(data, Key); // 6) Запись в файл. b.WriteInFile(EncodePas); // 7) Передача ключа в конструктор формы "LabelKeyForm1". LabelKeyForm1 f = new LabelKeyForm1(Key); // 8) Открытие формы "LabelKeyForm1". this.Hide(); f.ShowDialog(); this.Close(); } else { // 4) Сообщение об ошибке(еще 2 попытки). MessageBox.Show(String.Format("Неправильный пароль или ключ!\nОсталось попыток: {0}", PopytkaNum)); PopytkaNum--; LogForm f = new LogForm(); // 5) Открытие формы "LogForm" для ввода пароля. this.Hide(); f.ShowDialog(); this.Close(); if (PopytkaNum < 0) { MessageBox.Show("Попытки закончились!"); this.Close(); } } }