<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.xpass.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'xpass.constants.php',
    1 => 'Constantes predefinidas',
    2 => 'Constantes predefinidas',
  ),
  'up' => 
  array (
    0 => 'book.xpass.php',
    1 => 'Xpass',
  ),
  'prev' => 
  array (
    0 => 'xpass.installation.php',
    1 => 'Instala&ccedil;&atilde;o via PECL',
  ),
  'next' => 
  array (
    0 => 'ref.xpass.php',
    1 => 'Fun&ccedil;&otilde;es de Xpass',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/xpass/constants.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="xpass.constants" class="appendix">
 <h1 class="title">Constantes predefinidas</h1>

 <p class="simpara">
As constantes abaixo são definidas por esta extensão e
só estarão disponíveis quando a extensão tiver sido compilada no PHP
ou tiver sido carregada dinamicamente em tempo de execução.
</p>

 <p class="simpara">
  A extensão Xpass fornece vários conjuntos de constantes.
  Métodos de hash (<strong><code><a href="xpass.constants.php#constant.crypt-prefix-std-des">CRYPT_PREFIX_<span class="replaceable">*</span></a></code></strong>) para
  o parâmetro &#039;prefix&#039; de <span class="function"><a href="function.crypt-gensalt.php" class="function">crypt_gensalt()</a></span>.
  Códigos de erro (<strong><code><a href="xpass.constants.php#constant.crypt-salt-ok">CRYPT_SALT_<span class="replaceable">*</span></a></code></strong>) retornados por
  <span class="function"><a href="function.crypt-checksalt.php" class="function">crypt_checksalt()</a></span>.
  Algoritmos de senha (<strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_<span class="replaceable">*</span></a></code></strong>) para
  o parâmetro &#039;algo&#039; de <span class="function"><a href="function.password-hash.php" class="function">password_hash()</a></span>.
 </p>

 <dl id="xpass.constants.algo">
  <strong class="title">Métodos de hash</strong>
  
   <dt id="constant.crypt-prefix-std-des">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-std-des">CRYPT_PREFIX_STD_DES</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     O método de hash original do Unix V7, baseado na cifra de bloco DES.
     Como o DES não é custoso em equipamentos modernos,
     já que existem apenas <code class="literal">4096</code> salts possíveis e 2**56 frases-senha distintas,
     que ele trunca para 8 caracteres,
     é possível descobrir qualquer frase-senha com hash usando este método.
     Ele só deve ser usado ao oferecer suporte a sistemas operacionais antigos que não suportam
     nenhum outro algoritmo de geração de hash, devido à fragilidade dos hashes DES.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-ext-des">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-ext-des">CRYPT_PREFIX_EXT_DES</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Uma extensão do DES tradicional, que elimina o limite de comprimento,
     aumenta o tamanho do salt e torna o custo de tempo ajustável.
     Ele se originou com o BSDI BSD/OS e também está disponível pelo menos no NetBSD,
     OpenBSD e FreeBSD devido ao uso da biblioteca FreeSec de David Burren.
     É muito melhor que o DES tradicional e o bigcrypt,
     mas ainda não deve ser usado para novos hashes.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-md5">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-md5">CRYPT_PREFIX_MD5</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Um hash baseado no algoritmo MD5, originalmente desenvolvido por Poul-Henning Kamp para o FreeBSD.
     Suportado na maioria dos Unixes livres e versões mais recentes do Solaris.
     Não tão fraco quanto os hashes baseados em DES abaixo,
     mas o MD5 é tão leve em equipamentos modernos que não deve ser usado para novos hashes.
     O custo de processamento não é ajustável.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-blowfish">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-blowfish">CRYPT_PREFIX_BLOWFISH</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Um hash baseado na cifra de bloco Blowfish, modificado para ter um agendamento de chaves mais custoso.
     Originalmente desenvolvido por Niels Provos e David Mazieres para o OpenBSD e também suportado em versões recentes
     do FreeBSD e NetBSD, no Solaris 10 e mais recentes, e em diversas distribuições GNU/*/Linux.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-sha256">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sha256">CRYPT_PREFIX_SHA256</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Um hash baseado em SHA-2 com saída de 256 bits, originalmente desenvolvido por Ulrich Drepper para a libc GNU.
     Suportado no Linux, mas incomum em outros lugares.
     Aceitável para novos hashes.
     O parâmetro de custo de processamento padrão é <code class="literal">5000</code>,
     o que é muito baixo para equipamentos modernos.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-sha512">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sha512">CRYPT_PREFIX_SHA512</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Um hash baseado em SHA-2 com saída de 512 bits, originalmente desenvolvido por Ulrich Drepper para a libc GNU.
     Suportado no Linux, mas incomum em outros lugares.
     Aceitável para novos hashes.
     O parâmetro de custo de processamento padrão é <code class="literal">5000</code>,
     o que é muito baixo para equipamentos modernos.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-scrypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-scrypt">CRYPT_PREFIX_SCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Scrypt é uma função de derivação de chaves baseada em senhas criada por Colin Percival,
     originalmente para o serviço de backup online Tarsnap.
     O algoritmo foi projetado especificamente para tornar custosa a execução
     de ataques de hardware personalizados em larga escala, exigindo grandes quantidades de memória.
     Em 2016, o algoritmo scrypt foi publicado pela IETF como RFC 7914.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-gost-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-gost-yescrypt">CRYPT_PREFIX_GOST_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Gost-yescrypt utiliza a saída de yescrypt como uma mensagem de entrada para o HMAC com a
     função de hash GOST R 34.11-2012 (Streebog) com um resumo de 256 bits.
     Assim, as propriedades criptográficas de yescrypt são substituídas pelas da função de hash GOST.
     Este método de hash é útil em aplicações que necessitam de hash de senha moderna,
     mas que dependem de algoritmos GOST.
     A função de hash GOST R 34.11-2012 (Streebog) foi publicada pela IETF como RFC 6986.
     Aceitável para novos hashes, quando necessário.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-yescrypt">CRYPT_PREFIX_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Yescrypt é um esquema de hash de senha escalável desenvolvido pela Solar Designer,
     baseado no scrypt de Colin Percival.
     Embora a força do yescrypt contra ataques de adivinhação de senha venha do projeto do seu algoritmo,
     sua segurança criptográfica é garantida pelo uso de SHA-256 na camada externa.
     A função de hash SHA-256 foi publicada pelo NIST na FIPS PUB 180-2
     (e suas revisões subsequentes, como a FIPS PUB 180-4) e pela IETF como RFC 4634
     (e posteriormente RFC 6234).
     Recomendado para novos hashes.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-sm3crypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sm3crypt">CRYPT_PREFIX_SM3CRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Um hash baseado na função de hash ShangMi 3 com saída de 256 bits,
     que usa o mesmo design que sha256crypt e/ou sha512crypt.
     Compatível com EulerOS, Kylin, openEuler e openKylin, mas não comum
     em outros sistemas. Aceitável para novos hashes quando necessário. O parâmetro
     de custo de processamento padrão é 5000, o que é muito baixo para hardware moderno.
    </span>
    <span class="simpara">
     Disponível a partir da versão 1.2.0 com libcxcrypt &gt;= 4.5.0.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-sm3-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sm3-yescrypt">CRYPT_PREFIX_SM3_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     O Sm3-yescrypt usa a saída do yescrypt como mensagem de entrada para o HMAC
     com a função hash ShangMi 3 com um resumo de 256 bits. Assim, as propriedades
     criptográficas do yescrypt são substituídas pelas da função hash ShangMi 3.
     Este método de hash é útil em aplicações que precisam de hash de senha
     moderno, mas que dependem de algoritmos aprovados pelo Escritório de
     Administração Estatal de Criptografia Comercial da China (OSCCA). A função
     hash ShangMi 3 foi publicada na Parte 3: &quot;Funções hash dedicadas&quot;
     da ISO/IEC 10118-3:2018. Aceitável para novos hashes quando necessário.
    </span>
    <span class="simpara">
     Disponível a partir da versão 1.2.0 com libcxcrypt &gt;= 4.5.0.
    </span>
   </dd>
  
 </dl>

 <dl id="xpass.constants.error">
  <strong class="title">Códigos de erro</strong>
  
   <dt id="constant.crypt-salt-ok">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-ok">CRYPT_SALT_OK</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Nenhum erro.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-salt-invalid">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-invalid">CRYPT_SALT_INVALID</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Método de hash desconhecido ou parâmetros inválidos.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-salt-method-disabled">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-method-disabled">CRYPT_SALT_METHOD_DISABLED</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     O método de hash não pode mais ser usado.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-salt-method-legacy">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-method-legacy">CRYPT_SALT_METHOD_LEGACY</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     O método de hash não é mais considerado forte o suficiente.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-salt-too-cheap">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-too-cheap">CRYPT_SALT_TOO_CHEAP</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Os parâmetros de custo são considerados muito baixos.
    </span>
   </dd>
  
 </dl>

 <dl id="xpass.constants.password">
  <strong class="title">Algoritmos de senha</strong>
  
   <dt id="constant.password-sha512">
    <strong><code><a href="xpass.constants.php#constant.password-sha512">PASSWORD_SHA512</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     <strong><code><a href="xpass.constants.php#constant.password-sha512">PASSWORD_SHA512</a></code></strong> é usado para criar novos hashes de senha
     usando o algoritmo <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sha512">CRYPT_PREFIX_SHA512</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="constant.password-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.password-yescrypt">PASSWORD_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     <strong><code><a href="xpass.constants.php#constant.password-yescrypt">PASSWORD_YESCRYPT</a></code></strong> é usado para criar novos hashes
     de senha usando o algoritmo <strong><code><a href="xpass.constants.php#constant.crypt-prefix-yescrypt">CRYPT_PREFIX_YESCRYPT</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="constant.password-sm3crypt">
    <strong><code><a href="xpass.constants.php#constant.password-sm3crypt">PASSWORD_SM3CRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     <strong><code><a href="xpass.constants.php#constant.password-sm3crypt">PASSWORD_SM3CRYPT</a></code></strong> é usado para criar novos hashes
     de senha usando o algoritmo <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sm3crypt">CRYPT_PREFIX_SM3CRYPT</a></code></strong>.
    </span>
    <span class="simpara">
     Disponível a partir da versão 1.2.0 com libcxcrypt &gt;= 4.5.0.
    </span>
   </dd>
  
  
   <dt id="constant.password-sm3-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.password-sm3-yescrypt">PASSWORD_SM3_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     <strong><code><a href="xpass.constants.php#constant.password-sm3-yescrypt">PASSWORD_SM3_YESCRYPT</a></code></strong> é usado para criar novos hashes
     de senha usando o algoritmo <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sm3-yescrypt">CRYPT_PREFIX_SM3_YESCRYPT</a></code></strong>.
    </span>
    <span class="simpara">
     Disponível a partir da versão 1.2.0 com libcxcrypt &gt;= 4.5.0.
    </span>
   </dd>
  
 </dl>
</div>
<?php manual_footer($setup); ?>