• PHP 5.5: Armazenamento Seguro de Senhas

    A versão 5.5 do PHP virá com uma API, projetada para permitir que administradores e desenvolvedores possam armazenar senhas com segurança. Com sua ajuda, os desenvolvedores serão capazes de usar apenas uma linha de código para gerar um hash de senha seguro utilizando bcrypt.

    $hash = password_hash($password, PASSWORD_DEFAULT);


    Nessa situação, um argumento salt não se faz necessário, pois será gerado automaticamente pela API caso não esteja presente, e adicionado como um componente aleatório para a senha. Verificando a senha (método prático e fácil):


    password_verify ($ senha, $ hash);






    Caso os hashes sejam gerados a partir de fontes erradas, os atacantes só serão capazes de reconstruir as senhas correspondentes em texto puro com muito esforço, deixando claro que as senhas originais são longas o suficiente. O método de hash Bcrypt é um que é muito intensivo no âmbito computacional, e requer uma grande quantidade de memória, o que torna difícil realizar um crack com GPUs. Um sistema com oito núcleos de CPU pode gerar cerca de 5.000 hashes por segundo, e uma GPU atual oferece resultados semelhantes. Em comparação a esse resultado, o hash com SHA1 iria entregar os números em dezenas de milhões.

    Importante ressaltar que através da utilização de salts, a utilização de rainbow tables também é limitada. Se o usuário quiser, a chamada função hash não só pode especificar seu próprio salt, mas também pode ajustar a complexidade (custo) do método Bcrypt ou alterar completamente o método de hash. Esta informação é armazenada junto com a senha de hash.

    Saiba Mais:

    [1] Heise On-line http://www.h-online.com/open/news/it...s-1707835.html