public ActionResult Create(InscriptionModel inscriptionModel) { try { if (ModelState.IsValid) { string connectionString = Configuration["ConnectionStrings:DefaultConnection"]; using (SqlConnection connection = new SqlConnection(connectionString)) { string Salt = Securite.GetSalt(); string EncryptedPassword = Securite.GenerateSHA256String(inscriptionModel.Password + Salt); EncryptedPassword += ":" + Salt; string sql = $"Insert Into dbo.Utilisateur (TypeUtilisateurID, Prenom, Nom, Inscription, Courriel, MotDePasse, Username) Values ('1', '{inscriptionModel.Prenom}','{inscriptionModel.Nom}',GETDATE(),'{inscriptionModel.Courriel}','{EncryptedPassword}','{inscriptionModel.Username}')"; using (SqlCommand command = new SqlCommand(sql, connection)) { command.CommandType = CommandType.Text; connection.Open(); command.ExecuteNonQuery(); connection.Close(); } return(Redirect("/Home")); } } else { return(RedirectToAction(nameof(Index))); } } catch { return(View()); } }
public bool Connection(string username, string password) { utilisateur = new Utilisateur(); utilisateur = (Utilisateur)lstUtilisateurs.Where(x => x.Username == username).FirstOrDefault(); //Utilisateur inexistant if (utilisateur == null) { return(false); } string mdp = ""; string salt = ""; bool isSalt = false; for (int i = 0; i < utilisateur.MotDePasse.Length; i++) { if (utilisateur.MotDePasse[i] == ':' && !isSalt) { isSalt = true; } else if (isSalt) { salt += utilisateur.MotDePasse[i]; } else { mdp += utilisateur.MotDePasse[i]; } } string passwordEntre = Securite.GenerateSHA256String(password + salt); if (mdp != passwordEntre) { return(false); } else { return(true); } }