1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
using System;
using System.Windows.Forms;
namespace Generateur
{
public partial class Generateur : Form
{
GestionBDD BDDGenerateurMDP = new GestionBDD();
private Random rnd = new Random();
private static string sSimple = "abcdefghijklmnopqrstuvwxyz0123456789";
private static string sNormal = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static string sComplique = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@#%&+-*/$£";
public Generateur()
{
InitializeComponent();
lblDemandeConnexion.Visible = true;
gbAjouter.Visible = false;
cmbTypeMDP.SelectedIndex = 0;
txtbNbChar.Text = "6";
}
private void ssmenuConnecter_Click(object sender, EventArgs e)
{
BDDGenerateurMDP.ShowDialog();
if (BDDGenerateurMDP.bConnexionEtablie)
{
lblDemandeConnexion.Visible = false;
gbAjouter.Visible = true;
}
}
private void ssmenuDeconnecter_Click(object sender, EventArgs e)
{
try
{
BDDGenerateurMDP.cdb.Close();
}
catch
{
MessageBox.Show("Vous n'êtes pas connecté", "Attention");
}
lblDemandeConnexion.Visible = true;
}
private void btnGeneration_Click(object sender, EventArgs e)
{
if(txtbNbChar.Text == "" || int.Parse(txtbNbChar.Text) < 4 || int.Parse(txtbNbChar.Text) > 40) { MessageBox.Show("Veuillez entrer le nombre de caractère du mot de passe (entre 4 et 40)"); }
else
{
string sTypeMDP = "", sMDP = "";
if (cmbTypeMDP.Text == "Simple") { sTypeMDP = sSimple; }
if (cmbTypeMDP.Text == "Normal") { sTypeMDP = sNormal; }
if (cmbTypeMDP.Text == "Compliqué") { sTypeMDP = sComplique; }
int iNbCharType = sTypeMDP.Length;
for (int i = 0; i < int.Parse(txtbNbChar.Text); i++)
{
int iChar = rnd.Next(0, iNbCharType);
sMDP += sTypeMDP.Substring(iChar, 1);
}
txtbMDP.Text = sMDP;
}
}
private void btnEnregistrer_Click(object sender, EventArgs e)
{
BDDGenerateurMDP.AjouterEnregistrement(txtbNom.Text, txtbUrl.Text, txtbMDP.Text);
}
}
}
using System;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace Generateur
{
public partial class GestionBDD : Form
{
public MySqlConnection cdb;
public bool bConnexionEtablie;
private string sErreur;
public GestionBDD()
{
InitializeComponent();
}
private void btnConnexion_Click(object sender, EventArgs e)
{
cdb = new MySqlConnection("DATABASE = generateur_mdp; SERVER = "+ txtbServeur.Text +"; USER ID = " + txtbUser.Text + "; PWD = " + txtbPassword.Text + "; SslMode = none");
try
{
cdb.Open();
MessageBox.Show("Connecté à la base");
bConnexionEtablie = true;
txtbUser.Text = "";
txtbPassword.Text = "";
this.Hide();
}
catch(MySqlException mse)
{
//MessageBox.Show(mse.Number.ToString());
if (txtbServeur.Text == "") { sErreur = "Veuillez entrer l'IP de votre base de donnée."; goto MessageErreur; }
if (mse.Number == 1042) { sErreur = "IP incormset, ou base de donnée éteinte."; goto MessageErreur; }
if (txtbUser.Text == "") { sErreur = "Veuillez entrer nom un d'utilisateur."; goto MessageErreur; }
if (mse.Number == 0) { sErreur = "Nom d'utilisateur ou mot de passe incorrect."; goto MessageErreur; }
MessageErreur:
MessageBox.Show(sErreur, "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning);
bConnexionEtablie = false;
}
}
public void AjouterEnregistrement(string nom, string url, string mdp)
{
MySqlCommand cmd = new MySqlCommand("INSERT INTO mdp(NomSite, UrlSite, MotDePasse) VALUES(@NomSite, @UrlSite, @MotDePasse)", cdb);
cmd.Parameters.AddWithValue("@NomSite", nom);
cmd.Parameters.AddWithValue("@UrlSite", url);
cmd.Parameters.AddWithValue("@MotDePasse", mdp);
try
{
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
MessageBox.Show("Nouveau mot de passe bien enregistré");
}
catch (MySqlException mse)
{
string sErreur = "";
if (nom == "") { sErreur = "Entrez le nom du site"; goto MessageErreur; }
if (url == "") { sErreur = "Entrez l'Url du site"; goto MessageErreur; }
if (mdp == "") { sErreur = "Entrez le mot de passe ou généré en un aléatoirement"; goto MessageErreur; }
if (mse.Number == 0) { sErreur = "Connexion avec la base de donnée perdu"; goto MessageErreur; }
MessageErreur:
MessageBox.Show(sErreur, "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
catch(InvalidOperationException ioe)
{
if(ioe.HResult == -2146233079) { MessageBox.Show("Connexion avec la base de donnée perdu", "Attention", MessageBoxButtons.OK; MessageBoxIcon.Warning); }
}
}
}
} |
Partager