Esempio n. 1
0
        private static void Encrypt(Encrypter encrypter)
        {
            Console.WriteLine("Encrypting With the hashing Alorithm " + encrypter.HashingAlgo);

            Console.Write("Message to Encrypt:");
            string messageToEncrypt = Console.ReadLine();

            Console.WriteLine("Message(Base64): " + Convert.ToBase64String(encrypter.ComputeHash(Encoding.UTF8.GetBytes(messageToEncrypt))));
        }
 public ActionResult Create(CreateNewUser newUser)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (CheckValidateEmail(newUser.user.Email))
             {
                 if (!ViewModels.CheckForUser(newUser.user.Email))
                 {
                     if (CheckComplexity(newUser.user.Password))
                     {
                         newUser.user.Password = Encrypter.ComputeHash(newUser.user.Password, null);
                         Users myUser = new Users();
                         myUser.Email    = newUser.user.Email;
                         myUser.Password = newUser.user.Password;
                         ViewModels.CreateUser(myUser);
                     }
                     else
                     {
                         newUser.passwordError   = true;
                         newUser.emailError      = false;
                         newUser.blankFieldError = false;
                         newUser.user.Email      = null;
                         newUser.user.Password   = null;
                         return(View(newUser));
                     }
                 }
                 else
                 {
                     newUser.emailError      = true;
                     newUser.passwordError   = false;
                     newUser.blankFieldError = false;
                     newUser.user.Email      = null;
                     newUser.user.Password   = null;
                     return(View(newUser));
                 }
             }
             else
             {
                 newUser.emailError      = true;
                 newUser.passwordError   = false;
                 newUser.blankFieldError = false;
                 newUser.user.Email      = null;
                 newUser.user.Password   = null;
                 return(View(newUser));
             }
         }
         return(RedirectToAction("Delete"));
     }
     catch (Exception e)
     {
         DataLink.LogError(e);
         throw;
     }
 }
 public ActionResult PasswordOverride(AdminChangePassword change, int id)
 {
     try
     {
         //Check inputs are not null
         if (ModelState.IsValid)
         {
             if (change.confirmPassword != null && change.newPassword != null)
             {
                 //Check that new is equal to confirm
                 if (change.confirmPassword.Equals(change.newPassword))
                 {
                     //Check password complexity
                     if (CheckComplexity(change.newPassword))
                     {
                         change.user          = ViewModels.GetUser(id);
                         change.user.Password = Encrypter.ComputeHash(change.newPassword, null);
                         ViewModels.UpdateUser(change.user, EntityState.Modified);
                         return(RedirectToAction("Delete"));
                     }
                     else
                     {
                         change.ComplexityError = true;
                         change.confirmError    = change.blankFieldError = false;
                         change.newPassword     = change.confirmPassword = null;
                         return(View(change));
                     }
                 }
                 else
                 {
                     change.confirmError    = true;
                     change.ComplexityError = change.blankFieldError = false;
                     change.newPassword     = change.confirmPassword = null;
                     return(View(change));
                 }
             }
             else
             {
                 change.blankFieldError = true;
                 change.ComplexityError = change.confirmError = false;
                 change.newPassword     = change.confirmPassword = null;
                 return(View(change));
             }
         }
         change.confirmError    = true;
         change.ComplexityError = change.blankFieldError = false;
         change.newPassword     = null;
         change.confirmPassword = null;
         return(View(change));
     }
     catch (Exception e)
     {
         DataLink.LogError(e);
         throw;
     }
 }
        public ActionResult ChangePassword(ChangePassword changedPassword)
        {
            try
            {
                //ModelState doesn't seem to serve much of a purpose - manually check if fields are null
                if (ModelState.IsValid)
                {
                    //Check that no fields were left blank
                    if (changedPassword.user.Email != null && changedPassword.user.Password != null && changedPassword.confirmPassword != null && changedPassword.newPassword != null)
                    {
                        //Check that the password is complex enough
                        if (CheckComplexity(changedPassword.newPassword))
                        {
                            //Check that the new and confirmed password match
                            if (changedPassword.newPassword.Equals(changedPassword.confirmPassword))
                            {
                                //Email is our email
                                Users user = ViewModels.GetUser(changedPassword.user.Email);

                                //Check that the oldpassword matches our password
                                if (Encrypter.VerifyHash(changedPassword.user.Password, user.Password))
                                {
                                    user.Password = Encrypter.ComputeHash(changedPassword.newPassword, null);

                                    ViewModels.UpdateUser(user, System.Data.Entity.EntityState.Modified);
                                    return(RedirectToAction("ReportHome"));
                                }
                                else
                                {
                                    changedPassword.UserOrPasswordError     = true;
                                    changedPassword.blankFieldError         = false;
                                    changedPassword.confirmError            = false;
                                    changedPassword.PasswordComplexityError = false;
                                    changedPassword.user.Email    = null;
                                    changedPassword.user.Password = null;
                                    return(View(changedPassword));
                                }
                            }
                            else
                            {
                                changedPassword.confirmError            = true;
                                changedPassword.PasswordComplexityError = false;
                                changedPassword.blankFieldError         = false;
                                changedPassword.UserOrPasswordError     = false;
                                changedPassword.user.Email    = null;
                                changedPassword.user.Password = null;
                                return(View(changedPassword));
                            }
                        }
                        else
                        {
                            changedPassword.PasswordComplexityError = true;
                            changedPassword.blankFieldError         = false;
                            changedPassword.confirmError            = false;
                            changedPassword.UserOrPasswordError     = false;
                            changedPassword.user.Email    = null;
                            changedPassword.user.Password = null;
                            return(View(changedPassword));
                        }
                    }
                    else
                    {
                        changedPassword.blankFieldError         = true;
                        changedPassword.PasswordComplexityError = false;
                        changedPassword.confirmError            = false;
                        changedPassword.UserOrPasswordError     = false;
                        changedPassword.user.Email    = null;
                        changedPassword.user.Password = null;
                        return(View(changedPassword));
                    }
                }
                changedPassword.UserOrPasswordError = true;
                return(View(changedPassword));
            }
            catch (Exception e)
            {
                DataLink.LogError(e);
                throw;
            }
        }