rarruda Tue Dec 25 16:53:44 2001 EDT
Added files:
/phpdoc/pt_BR/functions mhash.xml
Log:
translated file. (not revised though)
Index: phpdoc/pt_BR/functions/mhash.xml
+++ phpdoc/pt_BR/functions/mhash.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<reference id="ref.mhash">
<title>Mhash Functions</title>
<titleabbrev>mhash</titleabbrev>
<partintro>
<para>
Estas fun��es tem a inten��o de funcionar com
<ulink url="&url.mhash;">mhash</ulink>.</para>
<para>
Esta � uma interface para a biblioteca mhash. mhash suporta
uma grande variedade de algoritmos hash como MD5, SHA1, GOST e
v�rios outros.
</para>
<para>
Para usalas, fa�a o download da distribui��o mhash do <ulink
url="&url.mhash;">web site deles</ulink> e siga as instru��es
de instala��o inclusas. Voc� precisar� compilar o PHP com o
parametro <option role="configure">--with-mhash</option> para
habilitar esta extens�o.
</para>
<para>
Mhash pode ser usado para criar checksums, message digests, c�digos
de autentica��o e mais.
</para>
<para>
<example>
<title>Computar o MD5 digest e hmac e imprimir como hex</title>
<programlisting role="php">
<![CDATA[
<?php
$input = "o que voc� quer por nada?";
$hash = mhash (MHASH_MD5, $input);
print "A hash � ".bin2hex ($hash)."\n<br>";
$hash = mhash (MHASH_MD5, $input, "Jefe");
print "A hmac � ".bin2hex ($hash)."\n<br>";
?>
]]>
</programlisting>
<para>
Este c�digo ir� produzir:
<screen>
<![CDATA[
A hash � d03cb659cbf9192dcd066272249f8412
A hmac � 750c783e6ab0b503eaa86e310a5db738
]]>
</screen>
</para>
</example>
Para uma lista completa de hashes suportadas, refira-se para a
documenta��o do mhash. A regra geral � que voc� pode acessar o
algoritmo hash do PHP com MHASH_HASHNAME. Por exemplo, para
accessar TIGER se usa a constante do PHP MHASH_TIGER.
</para>
<para>
Aqui est� a lista de hashes que s�o atualmente suportadas por mhash.
Se uma hash n�o est� listada aqui, mas � listada por mhash como
suportada, voc� pode com seguranca presumir que esta documenta��o est�
desatualizada.
<itemizedlist>
<listitem>
<simpara>
MHASH_MD5
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_SHA1
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_HAVAL256
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_HAVAL192
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_HAVAL160
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_HAVAL128
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_RIPEMD160
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_GOST
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_TIGER
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_CRC32
</simpara>
</listitem>
<listitem>
<simpara>
MHASH_CRC32B
</simpara>
</listitem>
</itemizedlist>
</para>
</partintro>
<refentry id="function.mhash-get-hash-name">
<refnamediv>
<refname>mhash_get_hash_name</refname>
<refpurpose>Ler o nome da hash especificada</refpurpose>
</refnamediv>
<refsect1>
<title>Descri��o</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>mhash_get_hash_name</function></funcdef>
<paramdef>int <parameter>hash</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>mhash_get_hash_name</function> � usada para obter o nome
da hash especificada.
</para>
<para>
<function>mhash_get_hash_name</function> recebe a id da hash como um
argumento e retorna o nome da hash ou &falsel;, se a hash n�o existe.
</para>
<para>
<example>
<title>Exemplo do <function>mhash_get_hash_name</function></title>
<programlisting>
<![CDATA[
<?php
$hash = MHASH_MD5;
print mhash_get_hash_name ($hash);
?>
]]>
</programlisting>
<para>
O exemplo acima ir� imprimir:
<screen>
<![CDATA[
MD5
]]>
</screen>
</para>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.mhash-get-block-size">
<refnamediv>
<refname>mhash_get_block_size</refname>
<refpurpose>Ler o tamanho do bloco da hash espec�ficada</refpurpose>
</refnamediv>
<refsect1>
<title>Descri��o</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>mhash_get_block_size</function></funcdef>
<paramdef>int <parameter>hash</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>mhash_get_block_size</function> � usada para obter o
tamanho de um blobo da <parameter>hash</parameter> espec�ficada.
</para>
<para>
<function>mhash_get_block_size</function> recebe um argumento, a
<parameter>hash</parameter> e retorna o tamanho em bytes ou
&false;, se o parametro <parameter>hash</parameter> n�o existe.
</para>
</refsect1>
</refentry>
<refentry id="function.mhash-count">
<refnamediv>
<refname>mhash_count</refname>
<refpurpose>Ler o mais alto hash id dispon�vel</refpurpose>
</refnamediv>
<refsect1>
<title>Descri��o</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>mhash_count</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para>
<function>mhash_count</function> retorna a mais alta hash id dispon�vel.
As hashes s�o numeradas de 0 at� esta hash id.
</para>
<para>
<example>
<title>Listando todas as hashes</title>
<programlisting role="php">
<![CDATA[
<?php
$nr = mhash_count();
for ($i = 0; $i <= $nr; $i++) {
echo sprintf ("O tamanho do bloco de %s � %d\n",
mhash_get_hash_name ($i),
mhash_get_block_size ($i));
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.mhash">
<refnamediv>
<refname>mhash</refname>
<refpurpose>Computar a hash</refpurpose>
</refnamediv>
<refsect1>
<title>Descri��o</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>mhash</function></funcdef>
<paramdef>int <parameter>hash</parameter></paramdef>
<paramdef>string <parameter>data</parameter></paramdef>
<paramdef>string <parameter>[ key ]</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>mhash</function> applica a fun��o hash especificada por
<parameter>hash</parameter> para o parametro <parameter>data</parameter>
e retorna a hash resultante (tamb�m chamada de digest). Se a
<parameter>key</parameter> for especificada a fun��o ir� retornar o
HMAC resultante. HMAC � o hashing com chave (keyed) para autentica��es
de mensagens, ou simplesmente um digest de mensagens que depende na
chave (key) espec�ficada. Nem todos os algor�tmos suportados em mhash
podem ser usados em modo HMAC. Em caso de erro retorna &false;.
</para>
</refsect1>
</refentry>
<refentry id="function.mhash-keygen-s2k">
<refnamediv>
<refname>mhash_keygen_s2k</refname>
<refpurpose>Gerar uma chave</refpurpose>
</refnamediv>
<refsect1>
<title>Descri��o</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>mhash_keygen_s2k</function></funcdef>
<paramdef>int <parameter>hash</parameter></paramdef>
<paramdef>string <parameter>password</parameter></paramdef>
<paramdef>string <parameter>salt</parameter></paramdef>
<paramdef>int <parameter>bytes</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>mhash_keygen_s2k</function> gera um chave que tem
<parameter>bytes</parameter> de comprimento, apartir de uma
senha (password) do usu�rio. Este � o algoritmo Salted S2K
como especificado no documento OpenPGP (RFC 2440). Este
algoritmo usar� o algoritmo <parameter>hash</parameter>
para criar a chave. O <parameter>salt</parameter> deve ser
diferente e aleat�rio o suficiente para que cada chave que
voc� gere seja diferente. Este salt tem que ser sabido quando
voc� checar as suas chaves (keys), logo � uma boa ideia
que a chave siga o salt. O salt tem o comprimento fixo de 8
bytes e ser� completado com zeros se voce fornecer menos bytes.
Tenha em mente que as senhas fornecidas pelos usu�rios n�o s�o
boas para serem usadas como chaves em algoritmos criptogr�ficos,
pois usu�rios normalmente escolhem chaves que eles podem escrever
no teclado. Estas senhas usam somente 6 a 7 bits por caracter
(ou menos). � altamente recomendado usar algum tipo de
transforma��o (como esta fun��o) na chave dada pelo usu�rio.
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->