<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >mhash_keygen_s2k</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="Mhash - Funções de hash" HREF="ref.mhash.html"><LINK REL="PREVIOUS" TITLE="mhash_get_hash_name" HREF="function.mhash-get-hash-name.html"><LINK REL="NEXT" TITLE="mhash" HREF="function.mhash.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.mhash-get-hash-name.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.mhash.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.mhash-keygen-s2k" ></A >mhash_keygen_s2k</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN115270" ></A ><P > (PHP 4 >= 4.0.4, PHP 5)</P >mhash_keygen_s2k -- Gerar uma chave</DIV ><DIV CLASS="refsect1" ><A NAME="AEN115273" ></A ><H2 >Descrição</H2 >string <B CLASS="methodname" >mhash_keygen_s2k</B > ( int hash, string password, string salt, int bytes )<BR ></BR ><P > <B CLASS="function" >mhash_keygen_s2k()</B > gera um chave que tem <CODE CLASS="parameter" >bytes</CODE > 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 <CODE CLASS="parameter" >hash</CODE > para criar a chave. O <CODE CLASS="parameter" >salt</CODE > 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. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.mhash-get-hash-name.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.mhash.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >mhash_get_hash_name</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.mhash.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >mhash</TD ></TR ></TABLE ></DIV ></BODY ></HTML >