> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/fr/ribbon-menu-bar/administration/system-settings/password-management/password-policy.md).

# Politique de mots de passe

Extraire et déchiffrer les mots de passe chiffrés stockés dans la base de données de Remote Desktop Manager pour utilisation par un système externe tel qu'un CRM.

{% hint style="info" %}
Cette fonctionnalité est uniquement disponible avec une [source de données avancée](/rdm/fr/getting-started/workspaces/workspace-types/native-workspaces.md).
{% endhint %}

Accéder aux mots de passe stockés dans votre source de données en interrogeant la base de données sous-jacente n'est pas possible en raison du chiffrement que nous appliquons sur les mots de passe. Pour ceux d'entre vous qui ont besoin d'accéder aux mots de passe directement dans la base de données, par exemple par un système CRM, nous avons créé une façon d'y parvenir.

### Paramètres <a href="#settings-windows" id="settings-windows"></a>

{% tabs %}
{% tab title="Windows" %}
L'information de session, qui est une structure XML, est stockée dans le champ ***Data*** de la table ***Connections*** dans la base de données sous-jacente.

Cependant, obtenir le mot de passe chiffré à partir de la base de données nécessite que l'option ***Allow password for external system*** soit configurée.

Saisissez une clé de chiffrement dans le champ ***Key***. Une fois qu'une clé est fournie, elle amènera le système à extraire une copie du mot de passe de notre structure XML, celui-ci sera ensuite rechiffré à l'aide de la ***Key*** que vous avez fournie et stocké de nouveau dans le champ ***UnsafePassword*** de la table ***Connections***.

### Code de déchiffrement <a href="#decryption-code" id="decryption-code"></a>

Utilisez le code .net suivant pour déchiffrer vos mots de passe.

```
public static string Decrypt(string encryptedString, string key)
{
  if (string.IsNullOrEmpty(encryptedString))
  {
    return encryptedString;
  }
  try
  {
    TripleDESCryptoServiceProvider tripleDesCryptoServiceProvider = new TripleDESCryptoServiceProvider();
    MD5CryptoServiceProvider cryptoServiceProvider = new MD5CryptoServiceProvider();
    string strTempKey = key;
    byte[] byteHash = cryptoServiceProvider.ComputeHash(Encoding.ASCII.GetBytes(strTempKey));
    tripleDesCryptoServiceProvider.Key = byteHash;
    tripleDesCryptoServiceProvider.Mode = CipherMode.ECB;
    byte[] byteBuff = Convert.FromBase64String(encryptedString);
    string strDecrypted =
      Encoding.UTF8.GetString(
        tripleDesCryptoServiceProvider.CreateDecryptor().TransformFinalBlock(
          byteBuff, 0, byteBuff.Length));
    return strDecrypted;
  }
  catch (Exception)
  {
    return null;
  }
}
```

{% endtab %}

{% tab title="macOS" %}

<table><thead><tr><th width="292.20001220703125">OPTION</th><th>DESCRIPTION</th></tr></thead><tbody><tr><td>Disable password saving (shared)</td><td>Les utilisateurs ne pourront pas enregistrer de mots de passe dans la session.</td></tr><tr><td>Disable password saving (user-specific settings)</td><td>Les utilisateurs ne pourront pas enregistrer de mot de passe dans les paramètres spécifiques à l'utilisateur.</td></tr><tr><td>Disable password saving for data source access</td><td>Les utilisateurs ne pourront pas enregistrer un nouveau mot de passe pour accéder à la source de données.</td></tr><tr><td>Allow reveal password for administrator and authorized users (<kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Enter</kbd>)</td><td>Détermine si la révélation du mot de passe est activée pour les utilisateurs autorisés.</td></tr><tr><td>Allow reveal credentials (if enabled in the entry)</td><td>Permet d'afficher les identifiants si la case « Allow show credentials (everybody) » est cochée dans la session.</td></tr><tr><td>Allow password in macro (send keys)</td><td>Rend la variable $MACRO_PASSWORD$ inutile pour cette source de données.</td></tr><tr><td>Password history</td><td>Indique le nombre maximal d'entrées d'historique de mots de passe enregistrées. Voir Historique des mots de passe pour plus d'information.</td></tr></tbody></table>
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/rdm/fr/ribbon-menu-bar/administration/system-settings/password-management/password-policy.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
