> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ValidateUser

> El método ValidateUser de la API de administración de usuarios de ABBYY FlexiCapture comprueba que un nombre de usuario y el hash de la contraseña coincidan con las credenciales almacenadas, e incluye un ejemplo de hash.

<div id="what-it-does">
  ## Qué hace
</div>

Comprueba si el nombre de usuario y la contraseña coinciden con los valores de la base de datos.

<div id="definition">
  ## Definición
</div>

```
bool ValidateUser( string userName, string passwordHash );
```

<div id="parameters">
  ## Parámetros
</div>

| **Name**     | **Tipo** | **Descripción**       |
| ------------ | -------- | --------------------- |
| userName     | string   | Nombre de usuario     |
| passwordHash | string   | Hash de la contraseña |

Código de ejemplo para calcular el hash de la contraseña:

```
public static string GetPasswordHashWithSalt( string login, string password )
        {
            string salt = GetPasswordSha256Hash(login.ToUpper());
            return GetPasswordSha256Hash(password + salt);
        }
        private static string GetPasswordSha256Hash( string password )
        {
            Encoding enc = Encoding.GetEncoding("UTF-16");
            byte[] buffer = enc.GetBytes(password);
            var cryptoTransformSHA256 = new SHA256CryptoServiceProvider();
            string hash = BitConverter.ToString(cryptoTransformSHA256.ComputeHash(buffer)).Replace("-", "");
            return hash;
        }
```

<div id="returned-value">
  ## Valor devuelto
</div>

<table width="100%"><tbody><tr><td><p><strong>Tipo</strong></p></td><td><p><strong>Descripción</strong></p></td></tr><tr><td><p>bool</p></td><td><ul><li>"true" si los valores coinciden</li><li>en caso contrario, se devuelve "false"</li></ul></td></tr></tbody></table>
