php/doc-pt_br

pt-BR Documentation shouldn't use md5(uniqid("")) as example

Closed this issue · 4 comments

Bacco commented

From manual page: https://www.php.net/manual/pt_BR/function.uniqid.php


Brazilian Portuguese version has this example:

Se você precisa um identificador unico e pretende dar o seu identificador via rede(ex. cookies de seção), é recomendado que você use algo como:

<?php
// sem prefixo
$token = md5(uniqid(""));

// melhor, dificil de adivinhar
$better_token = md5(uniqid(rand(), true));
?>

I think this should be removed ASAP, as MD5 makes no sense here.

  • Hashing it reduces drastically the entropy (this alone is enough to kill it with fire)
  • Collision risks are elevated, defeating uniqid's purpose
  • All in all, it makes no sense using uniqid to obtain an md5 or any hash - if someone needs an hash, just generate one directly. uniqid is desirable because it's own characteristics (sequencial based on time, that provides natural collision avoidance - with optional randomization appended for some very specific scenarios where you can call the function fast enough to obtain same value).

All in all I think translations should reflect the original article, and if someone desire to improve it, it should be done in the native english version and then translated (also it will gain more visibility and better peer-review).

PHP PT-BR docs have a plenty of problems as well this one. Also, MD5 ins't a good candidate for any function that needs hashing.

Olá @Bacco, obrigado pelo aviso.

Conferi aqui e, de fato, esse exemplo foi removido da tradução original há 13 anos atrás. Acontece que a tradução deste arquivo ainda não foi sincronizada.

Temos várias páginas aguardando a sincronização e eventualmente essa será atualizada por algum voluntário da comunidade.

Caso você tenha interesse em ajudar, suas contribuições serão muito bem-vindas! O @alfsb preparou um guia com tudo que você precisa saber pra começar: https://github.com/php/doc-pt_br/wiki.

alfsb commented

Pois é. A suspeita era nessa linha mesmo, que essa questão um texto desatualizado na tradução, em vez de uma inovação na tradução. Não tinha tido tempo de caçar isso, e agradeço o @lhsazevedo pela escavação arqueológica.

Mas issue aberto específico, bora lidar com ele. Depois, tentar lidar com os issues abertos, até zerar.

alfsb commented

Tradução atualizada, sincronizada com o original. Agradeço revisões. Deve aparecer publicada em algumas horas.