69 lines
2.6 KiB
C#
69 lines
2.6 KiB
C#
using System;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace PasswordGenerator
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
const string charsUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
const string charsLower = "abcdefghijklmnopqrstuvwxyz";
|
|
const string charsNumber = "0123456789";
|
|
const string charsSymbols = "!@#$%^&*";
|
|
private bool _loaded = false;
|
|
|
|
public Form1()
|
|
{
|
|
InitializeComponent();
|
|
|
|
_loaded = true;
|
|
GeneratePassword();
|
|
}
|
|
|
|
public void GeneratePassword()
|
|
{
|
|
string chars =
|
|
(UppercaseCheck.Checked ? charsUpper : "") +
|
|
(LowercaseCheck.Checked ? charsLower : "") +
|
|
(NumbersCheck.Checked ? charsNumber : "") +
|
|
(SymbolsCheck.Checked ? charsSymbols : "");
|
|
|
|
if (chars == "") { PasswordOutput.Text = ""; return; }
|
|
|
|
StringBuilder password = new StringBuilder();
|
|
Random random = new Random();
|
|
|
|
for (int i = 0; i < LengthSlider.Value; i++)
|
|
{
|
|
password.Append(chars[random.Next(chars.Length)]);
|
|
}
|
|
|
|
PasswordOutput.Text = password.ToString();
|
|
}
|
|
|
|
private void LengthSlider_ValueChanged(object sender, System.EventArgs e)
|
|
{
|
|
if (!_loaded) return;
|
|
|
|
LengthText.Text = $"Password Length: {LengthSlider.Value}";
|
|
GeneratePassword();
|
|
}
|
|
|
|
private void CopyButton_Click(object sender, System.EventArgs e)
|
|
{
|
|
Clipboard.SetText(PasswordOutput.Text);
|
|
}
|
|
|
|
private void RegenerateButton_Click(object sender, System.EventArgs e) => GeneratePassword();
|
|
private void UppercaseCheck_CheckedChanged(object sender, EventArgs e) => GeneratePassword();
|
|
private void LowercaseCheck_CheckedChanged(object sender, EventArgs e) => GeneratePassword();
|
|
private void NumbersCheck_CheckedChanged(object sender, EventArgs e) => GeneratePassword();
|
|
private void SymbolsCheck_CheckedChanged(object sender, EventArgs e) => GeneratePassword();
|
|
private void PresetLength8Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 8;
|
|
private void PresetLength16Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 16;
|
|
private void PresetLength32Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 32;
|
|
private void PresetLength64Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 64;
|
|
private void PresetLength128Button_Click(object sender, System.EventArgs e) => LengthSlider.Value = 128;
|
|
}
|
|
}
|