<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h3 class="title">
      <a name="validate-password">
      </a>
      8.4.3 The Password Validation Component
     </h3>
    </div>
   </div>
  </div>
  <div class="toc">
   <dl class="toc">
    <dt>
     <span class="section">
      <a href="validate-password-installation.html">
       8.4.3.1 Password Validation Component Installation and Uninstallation
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="validate-password-options-variables.html">
       8.4.3.2 Password Validation Options and Variables
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="validate-password-transitioning.html">
       8.4.3.3 Transitioning to the Password Validation Component
      </a>
     </span>
    </dt>
   </dl>
  </div>
  <a class="indexterm" name="idm46045241832688">
  </a>
  <a class="indexterm" name="idm46045241831632">
  </a>
  <a class="indexterm" name="idm46045241830544">
  </a>
  <a class="indexterm" name="idm46045241829472">
  </a>
  <p>
   The
   <code class="literal">
    validate_password
   </code>
   component serves to
      improve security by requiring account passwords and enabling
      strength testing of potential passwords. This component exposes
      system variables that enable you to configure password policy, and
      status variables for component monitoring.
  </p>
  <p>
   The
   <code class="literal">
    validate_password
   </code>
   component implements
      these capabilities:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      For SQL statements that assign a password supplied as a
          cleartext value,
      <code class="literal">
       validate_password
      </code>
      checks
          the password against the current password policy and rejects
          the password if it is weak (the statement returns an
      <a class="ulink" href="/doc/mysql-errors/8.4/en/server-error-reference.html#error_er_not_valid_password" target="_top">
       <code class="literal">
        ER_NOT_VALID_PASSWORD
       </code>
      </a>
      error).
          This applies to the
      <a class="link" href="alter-user.html" title="15.7.1.1 ALTER USER Statement">
       <code class="literal">
        ALTER USER
       </code>
      </a>
      ,
      <a class="link" href="create-user.html" title="15.7.1.3 CREATE USER Statement">
       <code class="literal">
        CREATE USER
       </code>
      </a>
      , and
      <a class="link" href="set-password.html" title="15.7.1.10 SET PASSWORD Statement">
       <code class="literal">
        SET PASSWORD
       </code>
      </a>
      statements.
     </p>
    </li>
    <li class="listitem">
     <p>
      For
      <a class="link" href="create-user.html" title="15.7.1.3 CREATE USER Statement">
       <code class="literal">
        CREATE USER
       </code>
      </a>
      statements,
      <code class="literal">
       validate_password
      </code>
      requires that a password
          be given, and that it satisfies the password policy. This is
          true even if an account is locked initially because otherwise
          unlocking the account later would cause it to become
          accessible without a password that satisfies the policy.
     </p>
    </li>
    <li class="listitem">
     <p>
      <code class="literal">
       validate_password
      </code>
      implements a
      <a class="link" href="encryption-functions.html#function_validate-password-strength">
       <code class="literal">
        VALIDATE_PASSWORD_STRENGTH()
       </code>
      </a>
      SQL function that assesses the strength of potential
          passwords. This function takes a password argument and returns
          an integer from 0 (weak) to 100 (strong).
     </p>
    </li>
   </ul>
  </div>
  <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
   <div class="admon-title">
    Note
   </div>
   <p>
    For statements that assign or modify account passwords
        (
    <a class="link" href="alter-user.html" title="15.7.1.1 ALTER USER Statement">
     <code class="literal">
      ALTER USER
     </code>
    </a>
    ,
    <a class="link" href="create-user.html" title="15.7.1.3 CREATE USER Statement">
     <code class="literal">
      CREATE USER
     </code>
    </a>
    , and
    <a class="link" href="set-password.html" title="15.7.1.10 SET PASSWORD Statement">
     <code class="literal">
      SET PASSWORD
     </code>
    </a>
    ), the
    <code class="literal">
     validate_password
    </code>
    capabilities described here
        apply only to accounts that use an authentication plugin that
        stores credentials internally to MySQL. For accounts that use
        plugins that perform authentication against a credentials system
        external to MySQL, password management must be handled
        externally against that system as well. For more information
        about internal credentials storage, see
    <a class="xref" href="password-management.html" title="8.2.15 Password Management">
     Section 8.2.15, “Password Management”
    </a>
    .
   </p>
   <p>
    The preceding restriction does not apply to use of the
    <a class="link" href="encryption-functions.html#function_validate-password-strength">
     <code class="literal">
      VALIDATE_PASSWORD_STRENGTH()
     </code>
    </a>
    function because it does not affect accounts directly.
   </p>
  </div>
  <p>
   Examples:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <code class="literal">
       validate_password
      </code>
      checks the cleartext
          password in the following statement. Under the default
          password policy, which requires passwords to be at least 8
          characters long, the password is weak and the statement
          produces an error:
     </p>
     <a class="indexterm" name="idm46045241802240">
     </a>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa99236394"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-sql"><span class="token prompt">mysql&gt;</span> <span class="token keyword">ALTER</span> <span class="token keyword">USER</span> <span class="token function">USER</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">IDENTIFIED</span> <span class="token keyword">BY</span> <span class="token string">'abc'</span><span class="token punctuation">;</span>
<span class="token output">ERROR 1819 (HY000)<span class="token punctuation">:</span> Your password does not satisfy the current
policy requirements</span></code></pre>
     </div>
    </li>
    <li class="listitem">
     <p>
      Passwords specified as hashed values are not checked because
          the original password value is not available for checking:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa68291346"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-sql"><span class="token prompt">mysql&gt;</span> <span class="token keyword">ALTER</span> <span class="token keyword">USER</span> <span class="token string">'jeffrey'</span>@<span class="token string">'localhost'</span>
       <span class="token keyword">IDENTIFIED</span> <span class="token keyword">WITH</span> mysql_native_password
       <span class="token keyword">AS</span> <span class="token string">'*0D3CED9BEC10A777AEC23CCC353A8C08A633045E'</span><span class="token punctuation">;</span>
<span class="token output">Query OK, 0 rows affected (0.01 sec)</span></code></pre>
     </div>
    </li>
    <li class="listitem">
     <p>
      This account-creation statement fails, even though the account
          is locked initially, because it does not include a password
          that satisfies the current password policy:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa56583164"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-sql"><span class="token prompt">mysql&gt;</span> <span class="token keyword">CREATE</span> <span class="token keyword">USER</span> <span class="token string">'juanita'</span>@<span class="token string">'localhost'</span> <span class="token keyword">ACCOUNT</span> <span class="token keyword">LOCK</span><span class="token punctuation">;</span>
<span class="token output">ERROR 1819 (HY000)<span class="token punctuation">:</span> Your password does not satisfy the current
policy requirements</span></code></pre>
     </div>
    </li>
    <li class="listitem">
     <p>
      To check a password, use the
      <a class="link" href="encryption-functions.html#function_validate-password-strength">
       <code class="literal">
        VALIDATE_PASSWORD_STRENGTH()
       </code>
      </a>
      function:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa94743178"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-sql"><span class="token prompt">mysql&gt;</span> <span class="token keyword">SELECT</span> <span class="token function">VALIDATE_PASSWORD_STRENGTH</span><span class="token punctuation">(</span><span class="token string">'weak'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span>
<span class="token output"><span class="token punctuation">|</span> VALIDATE_PASSWORD_STRENGTH('weak') <span class="token punctuation">|</span></span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span>
<span class="token output"><span class="token punctuation">|</span>                                 25 <span class="token punctuation">|</span></span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span>
<span class="token prompt">mysql&gt;</span> <span class="token keyword">SELECT</span> <span class="token function">VALIDATE_PASSWORD_STRENGTH</span><span class="token punctuation">(</span><span class="token string">'lessweak$_@123'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span>
<span class="token output"><span class="token punctuation">|</span> VALIDATE_PASSWORD_STRENGTH('lessweak$_@123') <span class="token punctuation">|</span></span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span>
<span class="token output"><span class="token punctuation">|</span>                                           50 <span class="token punctuation">|</span></span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span>
<span class="token prompt">mysql&gt;</span> <span class="token keyword">SELECT</span> <span class="token function">VALIDATE_PASSWORD_STRENGTH</span><span class="token punctuation">(</span><span class="token string">'N0Tweak$_@123!'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span>
<span class="token output"><span class="token punctuation">|</span> VALIDATE_PASSWORD_STRENGTH('N0Tweak$_@123!') <span class="token punctuation">|</span></span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span>
<span class="token output"><span class="token punctuation">|</span>                                          100 <span class="token punctuation">|</span></span>
<span class="token output"><span class="token punctuation">+</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">+</span></span></code></pre>
     </div>
    </li>
   </ul>
  </div>
  <p>
   To configure password checking, modify the system variables having
      names of the form
   <code class="literal">
    validate_password.
    <em class="replaceable">
     <code>
      xxx
     </code>
    </em>
   </code>
   ;
      these are the parameters that control password policy. See
   <a class="xref" href="validate-password-options-variables.html" title="8.4.3.2 Password Validation Options and Variables">
    Section 8.4.3.2, “Password Validation Options and Variables”
   </a>
   .
  </p>
  <p>
   If
   <code class="literal">
    validate_password
   </code>
   is not installed, the
   <code class="literal">
    validate_password.
    <em class="replaceable">
     <code>
      xxx
     </code>
    </em>
   </code>
   system variables are not available, passwords in statements are
      not checked, and the
   <a class="link" href="encryption-functions.html#function_validate-password-strength">
    <code class="literal">
     VALIDATE_PASSWORD_STRENGTH()
    </code>
   </a>
   function always returns 0. For example, without the plugin
      installed, accounts can be assigned passwords shorter than 8
      characters, or no password at all.
  </p>
  <p>
   Assuming that
   <code class="literal">
    validate_password
   </code>
   is installed,
      it implements three levels of password checking:
   <code class="literal">
    LOW
   </code>
   ,
   <code class="literal">
    MEDIUM
   </code>
   , and
   <code class="literal">
    STRONG
   </code>
   . The default is
   <code class="literal">
    MEDIUM
   </code>
   ; to change this, modify the value of
   <a class="link" href="validate-password-options-variables.html#sysvar_validate_password.policy">
    <code class="literal">
     validate_password.policy
    </code>
   </a>
   . The
      policies implement increasingly strict password tests. The
      following descriptions refer to default parameter values, which
      can be modified by changing the appropriate system variables.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <code class="literal">
       LOW
      </code>
      policy tests password length only.
          Passwords must be at least 8 characters long. To change this
          length, modify
      <a class="link" href="validate-password-options-variables.html#sysvar_validate_password.length">
       <code class="literal">
        validate_password.length
       </code>
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <code class="literal">
       MEDIUM
      </code>
      policy adds the conditions that
          passwords must contain at least 1 numeric character, 1
          lowercase character, 1 uppercase character, and 1 special
          (nonalphanumeric) character. To change these values, modify
      <a class="link" href="validate-password-options-variables.html#sysvar_validate_password.number_count">
       <code class="literal">
        validate_password.number_count
       </code>
      </a>
      ,
      <a class="link" href="validate-password-options-variables.html#sysvar_validate_password.mixed_case_count">
       <code class="literal">
        validate_password.mixed_case_count
       </code>
      </a>
      ,
          and
      <a class="link" href="validate-password-options-variables.html#sysvar_validate_password.special_char_count">
       <code class="literal">
        validate_password.special_char_count
       </code>
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <code class="literal">
       STRONG
      </code>
      policy adds the condition that
          password substrings of length 4 or longer must not match words
          in the dictionary file, if one has been specified. To specify
          the dictionary file, modify
      <a class="link" href="validate-password-options-variables.html#sysvar_validate_password.dictionary_file">
       <code class="literal">
        validate_password.dictionary_file
       </code>
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
  <p>
   In addition,
   <code class="literal">
    validate_password
   </code>
   supports the
      capability of rejecting passwords that match the user name part of
      the effective user account for the current session, either forward
      or in reverse. To provide control over this capability,
   <code class="literal">
    validate_password
   </code>
   exposes a
   <a class="link" href="validate-password-options-variables.html#sysvar_validate_password.check_user_name">
    <code class="literal">
     validate_password.check_user_name
    </code>
   </a>
   system variable, which is enabled by default.
  </p>
 </div>
 <br/>
</div>
