"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como criar uma string aleatória de 5 caracteres com duplicação mínima?

Como criar uma string aleatória de 5 caracteres com duplicação mínima?

Publicado em 2024-11-06
Navegar:799

How to Create a 5-Character Random String with Minimal Duplication?

Gerando 5 caracteres aleatórios com duplicação mínima

Para criar uma string aleatória de 5 caracteres com duplicação mínima, uma das abordagens mais eficazes utiliza uma combinação de funções PHP e técnicas inteligentes. Vamos nos aprofundar nas soluções:

Usando md5 e rand

$rand = substr(md5(microtime()),rand(0,26),5);

Este método emprega a função hash md5 para gerar uma string de 32 caracteres a partir de um carimbo de data/hora. Ao usar substr e rand, uma subseção aleatória de 5 caracteres é extraída, resultando em uma string com baixa probabilidade de duplicação.

Usando shuffle e array_rand

$seed = str_split('abcdefghijklmnopqrstuvwxyz'
                 .'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                 .'0123456789!@#$%^&*()'); // and any other characters
shuffle($seed); // probably optional since array_is randomized; this may be redundant
$rand = '';
foreach (array_rand($seed, 5) as $k) $rand .= $seed[$k];

Aqui, um conjunto de caracteres predefinido ($seed) é embaralhado aleatoriamente. Cinco caracteres são então selecionados aleatoriamente da matriz embaralhada usando array_rand, garantindo uma distribuição diversificada de caracteres.

Usando hash incremental

function incrementalHash($len = 5){
  $charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  $base = strlen($charset);
  $result = '';

  $now = explode(' ', microtime())[1];
  while ($now >= $base){
    $i = (int)$now % $base;
    $result = $charset[$i] . $result;
    $now /= $base;
  }
  return substr(str_repeat($charset[0], $len) . $result, -$len); 
}

Esta função utiliza microssegundos da hora atual para gerar incrementalmente uma string aleatória. O resultado é uma string cada vez mais exclusiva a cada geração subsequente. No entanto, é importante notar que sua previsibilidade é maior do que outros métodos se for usado para fins criptográficos, como salting ou geração de token.

Declaração de lançamento Este artigo foi reimpresso em: 1729323318 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3