> ## 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.

# ChangePassword

> El método ChangePassword de la API de administración de usuarios de ABBYY FlexiCapture restablece la contraseña de un usuario, con código de ejemplo para calcular el hash SHA-256 con sal de la contraseña.

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

Restablece la contraseña de un usuario.

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

```csharp theme={null}
bool ChangePassword( string userName, string oldPassword, string newPassword );
```

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

| Name          | Tipo     | Description                                     |
| ------------- | -------- | ----------------------------------------------- |
| `userName`    | `string` | El nombre de usuario.                           |
| `oldPassword` | `string` | El valor de la contraseña anterior, sin cifrar. |
| `newPassword` | `string` | El valor de la nueva contraseña.                |

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

| Tipo   | Descripción                                                                                                                                                                                                         |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bool` | Indica si se restableció la contraseña. Valores posibles: `true` (la contraseña se restableció correctamente) y `false` (la contraseña no se restableció, por ejemplo, porque la contraseña anterior no coincidía). |

<div id="calculate-the-password-hash">
  ## Calcular el hash de la contraseña
</div>

El siguiente código de C# calcula el hash de la contraseña con una sal derivada del login.

```csharp theme={null}
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;
}
```
