Exemplo n.º 1
0
        public bool SaveUser(User user)
        {
            string HashedPassword = HashGen.GetHashString(user.Password);

            user.Password = HashedPassword;
            return(_userBAL.SaveUser(user) != null ?true:false);
        }
        public int Save(User user)
        {
            if (GetUserByEmail(user.Email) != null)
            {
                return(0);
            }
            string hashedPassword = HashGen.GenerateSHA256String(user.Password);

            string sql = "INSERT INTO [User] " +
                         "(Name,Email,AccountBalance,AccountType,Status,Password) " +
                         "VALUES(@name, @email, @accountBalance, @accountType, @status,@password)";

            Command = new SqlCommand(sql, Connection);

            Command.Parameters.AddWithValue("@name", user.Name);
            Command.Parameters.AddWithValue("@email", user.Email);
            Command.Parameters.AddWithValue("@accountBalance", user.AccountBalance);
            Command.Parameters.AddWithValue("@accountType", user.AccountType);
            Command.Parameters.AddWithValue("@status", user.Status);
            Command.Parameters.AddWithValue("@password", hashedPassword);

            Connection.Open();

            int rowEffected = Command.ExecuteNonQuery();

            Connection.Close();


            return(rowEffected);
        }
        public int UpdateUser(User user)
        {
            string sql = "UPDATE [User] SET " +
                         "Name = @name, Status = @status, Password = @password " +
                         " WHERE Id = @id AND Email = @email";

            string hashedPassword = HashGen.GenerateSHA256String(user.Password);

            Command = new SqlCommand(sql, Connection);

            Command.Parameters.AddWithValue("@name", user.Name);
            Command.Parameters.AddWithValue("@status", user.Status);
            Command.Parameters.AddWithValue("@password", hashedPassword);
            Command.Parameters.AddWithValue("@id", user.Id);
            Command.Parameters.AddWithValue("@email", user.Email);

            Connection.Open();

            int rowEffected = Command.ExecuteNonQuery();

            Connection.Close();


            return(rowEffected);
        }
Exemplo n.º 4
0
        public void GetHash()
        {
            // Arrange
            var hasher = new HashGen(HashAlgorithmType.Sha512, Encoding.UTF8);

            // Act
            var hash = hasher.GetHash(
                "Lorem ipsum dolor sit sed a periculis cuntis. Liber e non sempre virgo gloriousa et benedicta.");

            // Assert
            Assert.IsType <string>(hash);
            Assert.NotNull(hash);
        }
Exemplo n.º 5
0
        public string LoginUser(LoginUser user)
        {
            string HashedPassword = HashGen.GetHashString(user.Password);

            user.Password = HashedPassword;
            if (_userBAL.ValidateUser(user))
            {
                string Token = new SecurityBAL().GenerateToken();
                SaveToken(Token);
                return(Token);
            }
            return(string.Empty);
        }
Exemplo n.º 6
0
        private bool CheckPassword(string emial, string password)
        {
            User userToCheck = GetUserByEmail(emial);

            if (userToCheck != null)
            {
                if (HashGen.TestSHA256String(password, userToCheck.Password))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 7
0
        /// <summary>
        ///
        /// </summary>
        private bool CheckCodeUpdate()
        {
            var dolPatchPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lib/dol.patch");

            Console.WriteLine(Core.Installer.MEXDolPatcher.CheckPatchApplied(Core.MEX.ImageResource.GetDOL(), dolPatchPath));
            if (!Core.Installer.MEXDolPatcher.CheckPatchApplied(Core.MEX.ImageResource.GetDOL(), dolPatchPath))
            {
                // update dol
                if (MessageBox.Show("Update DOL file?\nRecommended", "DOL update detected", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    Core.MEX.ImageResource.SetDOL(Core.Installer.MEXDolPatcher.ApplyPatch(Core.MEX.ImageResource.GetDOL(), dolPatchPath));
                }
            }

            var codesPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"lib\codes.gct");

            if (!File.Exists(codesPath))
            {
                return(false);
            }


            var mx_codes = File.ReadAllBytes(codesPath);
            var fs_codes = Core.MEX.ImageResource.GetFile("codes.gct");

            if (fs_codes != null)
            {
                var mxhash = HashGen.ComputeSHA256Hash(mx_codes);
                var hash   = HashGen.ComputeSHA256Hash(fs_codes);

                if (!mxhash.Equals(hash))
                {
                    // update codes.gct
                    if (MessageBox.Show("Update codes file?", "Codes update detected", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        Core.MEX.ImageResource.AddFile("codes.gct", mx_codes);
                        return(true);
                    }
                }
            }

            return(false);
        }
Exemplo n.º 8
0
        public void HashGenInitialisation()
        {
            // Arrange
            var hashGenInstanceMd5    = new HashGen(HashAlgorithmType.Md5, Encoding.UTF8);
            var hashGenInstanceSha1   = new HashGen(HashAlgorithmType.Sha1, Encoding.UTF8);
            var hashGenInstanceSha256 = new HashGen(HashAlgorithmType.Sha256, Encoding.UTF8);
            var hashGenInstanceSha384 = new HashGen(HashAlgorithmType.Sha384, Encoding.UTF8);
            var hashGenInstanceSha512 = new HashGen(HashAlgorithmType.Sha512, Encoding.UTF8);

            // Assert

            // Check hash algos
            Assert.NotStrictEqual(MD5.Create(), hashGenInstanceMd5.Hasher);
            Assert.IsType <SHA1Managed>(hashGenInstanceSha1.Hasher);
            Assert.IsType <SHA256Managed>(hashGenInstanceSha256.Hasher);
            Assert.IsType <SHA384Managed>(hashGenInstanceSha384.Hasher);
            Assert.IsType <SHA512Managed>(hashGenInstanceSha512.Hasher);

            // Check encoding
            Assert.Equal(Encoding.UTF8, hashGenInstanceSha512.InputEncoding);
        }
 public String CheckPass(String login, String password)
 { // Zwraca hash hasła, jeśli prawidłowe lub null, jeśli nieprawidłowe
     LoginRes[] SQLResults = GetLoginsFromSQL("SELECT Login, PasswordSalt, PasswordHash FROM Users WHERE Login = '******'", SQLConnector.GetSQLConnection());
     // zakładamy, że może być tylko jedna osoba z danym loginem
     if ((SQLResults != null) && (SQLResults.Length == 1))
     {
         String PasswordSalt = SQLResults[0].PasswordSalt;
         String PasswordHash = SQLResults[0].PasswordHash;
         if (HashGen.CreateSHAHash(password, PasswordSalt).Equals(PasswordHash))
         {
             return(PasswordHash);
         }
         else
         {
             return(null);
         }
     }
     else
     {
         return(null); // W zasadzie wyłapujemy tu przypadek braku loginu w bazie.
     }
 }
Exemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        public static bool UpdateCodes()
        {
            // https://github.com/akaneia/m-ex/raw/master/asm/codes.gct
            var codesPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"\lib\codes.gct");

            if (!File.Exists(codesPath))
            {
                return(false);
            }

            var mxhash = HashGen.ComputeSHA256Hash(File.ReadAllBytes(codesPath));

            using (var client = new WebClient())
                client.DownloadFile(@"https://github.com/akaneia/m-ex/raw/master/asm/codes.gct", codesPath);

            var newhash = HashGen.ComputeSHA256Hash(File.ReadAllBytes(codesPath));

            if (!mxhash.Equals(newhash))
            {
                return(true);
            }

            return(false);
        }
Exemplo n.º 11
0
 public string GenerateHash(string Input)
 {
     return(HashGen.GetHashString(Input));
 }
 public PasswordSaltAndHash(String PasswordRaw)
 {
     this.PasswordSalt = HashGen.CreateSalt(16);
     this.PasswordHash = HashGen.CreateSHAHash(PasswordRaw, this.PasswordSalt);
 }