mirror of
https://github.com/Crypto-Notepad/Crypto-Notepad.git
synced 2026-03-11 08:55:25 +00:00
75 lines
2.4 KiB
C#
75 lines
2.4 KiB
C#
using PasswordGenerator;
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Crypto_Notepad
|
|
{
|
|
public partial class PasswordGeneratorFrom : Form
|
|
{
|
|
[DllImport("user32.dll")]
|
|
static extern IntPtr CloseClipboard();
|
|
public PasswordGeneratorFrom()
|
|
{
|
|
InitializeComponent();
|
|
11.Times(() => GenerateButton_Click(null, null));
|
|
}
|
|
|
|
private string GeneratePassword()
|
|
{
|
|
var pwd = new Password(
|
|
includeLowercase: includeLowercaseCheckBox.Checked,
|
|
includeUppercase: includeUppercaseCheckBox.Checked,
|
|
includeNumeric: includeNumericCheckBox.Checked,
|
|
includeSpecial: includeSpecialCheckBox.Checked,
|
|
passwordLength: int.Parse(passwordLengthTextBox.Text));
|
|
return pwd.Next();
|
|
}
|
|
|
|
private void GenerateButton_Click(object sender, EventArgs e)
|
|
{
|
|
PublicVar.messageBoxCenterParent = true;
|
|
if (string.IsNullOrEmpty(passwordLengthTextBox.Text))
|
|
{
|
|
passwordLengthTextBox.Text = 8.ToString();
|
|
}
|
|
if (int.Parse(passwordLengthTextBox.Text) < 8)
|
|
{
|
|
passwordLengthTextBox.Text = 8.ToString();
|
|
}
|
|
if (int.Parse(passwordLengthTextBox.Text) > 128)
|
|
{
|
|
passwordLengthTextBox.Text = 128.ToString();
|
|
}
|
|
try
|
|
{
|
|
passwordsList.AppendLine(GeneratePassword());
|
|
}
|
|
catch (ArgumentOutOfRangeException)
|
|
{
|
|
using (new CenterWinDialog(this))
|
|
{
|
|
DialogResult res = MessageBox.Show(this, "Choose at least one character type", "Uh oh! Something went wrong", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ClearPasswordsListButton_Click(object sender, EventArgs e)
|
|
{
|
|
passwordsList.Clear();
|
|
}
|
|
|
|
private void PasswordLengthTextBox_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
if (!char.IsControl(e.KeyChar) & !char.IsDigit(e.KeyChar))
|
|
{
|
|
e.Handled = true;
|
|
}
|
|
}
|
|
|
|
private void PasswordGeneratorFrom_Load(object sender, EventArgs e)
|
|
{
|
|
CenterToParent();
|
|
}
|
|
}
|
|
}
|