private bool ChangePasswordUnsafe(string username, byte[] oldPassword, byte[] newPassword) { AccountData account = GetAccount(username); if (account == null) { return(false); } if (!ValidateHash(account, oldPassword)) { return(false); } AccountCreationData creationData = new AccountCreationData(username, newPassword, GetAccount(username).AccessLevel, account.Contact); ReplaceAccountUnsafe(creationData); return(true); }
private bool AddAccountUnsafe(AccountCreationData creationData) { if (creationData.Username.Length <= 0 || !IsStringAllowed(creationData.Username) || !IsStringAllowed(creationData.Contact)) { return(false); } if (IsAccountExisting(creationData.Username, creationData.Contact)) { return(false); } byte[] salt = GenerateSalt(SaltLength); return(AddUserData(new AccountData( creationData.Username, HashAlgorithm.Hash(creationData.Password, salt, Difficulty), salt, Difficulty, creationData.AccessLevel, creationData.Contact))); }
private void ReplaceAccountUnsafe(AccountCreationData creationData) { EraseAccountUnsafe(creationData.Username); AddAccountUnsafe(creationData); }
public void ReplaceAccount(AccountCreationData creationData) { m_lock.Execute(() => ReplaceAccountUnsafe(creationData)); }
public bool AddAccount(AccountCreationData creationData) { return(m_lock.Execute(() => AddAccountUnsafe(creationData))); }