Como gerar uma string aleatória em PHP [com exemplos]

Publicados: 2020-11-24

PHP, na época de seu lançamento, significava Página Inicial Personalizada . E enquanto sua jornada evolutiva deu à indústria uma definição alternativa e mais aceitável (recursiva) como PHP: Hypertext PreProcessor , a verdade sobre o PHP é que ele ainda absorve o espírito de personalização mais do que qualquer outra coisa.

Hoje, o PHP é a alternativa mais preferida, gratuita e de código aberto para todas as outras linguagens de configuração de servidor líderes, como o ASP (Active Server Pages) da Microsoft. Grande parte desse aspecto de personalização é levado adiante pela presença de um interpretador PHP no lado do servidor, que pode ser implementado como um módulo , um daemon ou um executável .

As interfaces PHP são úteis no gerenciamento de dados importantes centrados no usuário, como UIDs (identificadores exclusivos), endereços de e-mail, nomes de usuário, senhas, informações de contato confidenciais e muito mais.

Muitos, se não todos, dos principais sistemas de gerenciamento de conteúdo dinâmico do mundo (incluindo o gigante CMS WordPress), são plataformas baseadas em PHP que permitem a fácil criação e manutenção de registros de usuários e registros de conteúdo, na forma de bancos de dados acessíveis por PHP .

Neste artigo, exploraremos um aspecto particular do PHP que torna tão fácil para os administradores preencherem todos os campos obrigatórios necessários no ato de criar um novo “usuário” com o mínimo de intervenção tanto do lado do administrador quanto do lado do usuário . Para fazer isso, os administradores devem aprender como gerar strings aleatórias PHP, e é isso que vamos abordar.

Leia: Ideias e tópicos de projetos PHP

Índice

O que é uma string aleatória PHP?

Uma string aleatória PHP é uma string de caracteres única, aleatória e alfanumérica que pode ser usada em uma matriz como um nome de arquivo, uma extensão de URL aleatória, uma senha ou um token de autenticação (como os tokens de API comuns e Segredos da API como visto na interface de desenvolvimento de aplicativos do Facebook).

Blogueiros frequentes, especialmente aqueles que usam plataformas como Medium para publicar seus trabalhos, verão esse ato de geração aleatória de strings em ação sempre que publicarem uma nova história ou post – a extensão de URL que segue o domínio base, geralmente é resultado de um string arbitrária sendo gerada pela interface de publicação.

Por exemplo, no URL https://medium.com/neli/shiring-revealing-the-best-kept-secret-of-ancient-indian-meditation- c37d87e3386b , a última parte do URL (c37d87e3386b) é um cadeia gerada . Outras referências fáceis e importantes de strings aleatórias PHP incluem as senhas “padrão” que são geradas para todas as novas contas de usuário no WordPress.

Uma maioria crescente de plataformas de internet do consumidor também está mudando para o uso de strings aleatórias PHP para alavancar o poder da criptografia ao habilitar logins de “link mágico”. Se você já usou um serviço baseado em nuvem que usa um login de “link mágico”, já está familiarizado com a facilidade, a eficiência e a camada aprimorada de segurança fornecida com a geração e o mapeamento de strings aleatórias PHP.

Como gerar uma string aleatória PHP?

A tarefa em mãos é escrever código que gere strings aleatórias, alfanuméricas e exclusivas usando PHP. Existem quatro maneiras diferentes pelas quais isso pode ser alcançado:

  1. Usando força bruta (indexação aleatória) – Este é de longe o método mais fácil, ainda que bruto, para obter uma string aleatória PHP.
  2. Usando funções “ hashing ” (geração algorítmica de strings aleatórias PHP – esta é uma abordagem um pouco mais inteligente em comparação com o uso de força bruta)
  3. Usando a função uniqid() embutida (isso é direto e aproveita uma funcionalidade PHP embutida para gerar identificadores exclusivos para elementos)
  4. Ao usar random_bytes() seguido por bin2hex() – ele gera bytes aleatórios criptograficamente seguros e oferece funcionalidades incríveis para interfaces como loterias online, jogos de pôquer online e outras plataformas que exigem geração de números em tempo real com verdadeira randomização incorporada em seu núcleo.

Leia também: Oportunidades de carreira em PHP

Gerando uma string aleatória PHP usando força bruta

O conceito de força bruta de geração de strings aleatórias em PHP é o mais simples de entender e o mais fácil de implementar. Em termos gerais, a abordagem da força bruta pode ser explicada em quatro etapas fáceis:

  1. Junte todos os caracteres possíveis e coloque-os em uma string (este é o seu repositório de espaço de amostra de todos os caracteres permitidos em sua string).
  2. Gere um “índice aleatório” que começa em 0 (zero) e se estende até o comprimento da string “-1”.
  3. Imprime um caractere na posição de índice atual.
  4. Se X for o número de caracteres que você precisa em sua string (seu comprimento de string desejado), repita as etapas 1, 2 e 3 um total de X vezes em seu loop de instruções total.

Como você pode ver na implementação do código de exemplo abaixo, essa é de longe a maneira mais direta de gerar uma string aleatória em PHP.

Código de amostra:

<?php

$n=10;

function getNome($n) {

$caracteres = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

$randomString = ”;

for ($i = 0; $i < $n; $i++) {

$index = rand(0, strlen($characters) – 1);

$randomString .= $characters[$index];

}

return $randomString;

}

echo getNome($n);

?>

Deve ler: Perguntas e respostas da entrevista PHP

Gerando uma string aleatória PHP usando funções “hashing”

O PHP tem algumas funções embutidas conhecidas como “ funções de hash ”, como md5 (), sha1 () e hash (). Essas funções podem ser usadas para “hash” uma string definida por algoritmos específicos como “sha1”, “sha256” e “md5”. Em todas essas funções, o argumento é uma string e a saída é uma string alfanumérica com hash (conforme visto no código de exemplo abaixo).

Código de amostra:

<?php

$str=rand();

$resultado = md5($str);

echo $resultado;

?>

Gerando uma string aleatória PHP usando a função “uniqid()” embutida

O PHP mantém uma aparência de seu valor como uma ferramenta de personalização por excelência, com funções especiais embutidas, como uniqid(), que podem ser usadas para gerar um “ID exclusivo (UID)” derivado da hora atual, registrada em microssegundos (também conhecido como “microtempo”).

Sob a sintaxe padrão, a função uniqid() sempre retorna uma string alfanumérica exclusiva que tem um comprimento de string de 13 caracteres. Você pode usar o código de exemplo abaixo para testar uma implementação do método uniqid().

Código de amostra:

<?php

$resultado = uniqid();

echo $resultado;

?>

Gerando uma string aleatória PHP usando random_bytes() e bin2hex()

Esta, de longe, é a maneira mais evoluída e segura de gerar bytes “pseudo-aleatórios” e depois convertê-los em um formato hexadecimal para adicionar uma camada de criptografia à randomização existente.

A primeira etapa é chamar a função built-in random_bytes () para gerar bytes aleatórios criptograficamente seguros. O próximo passo é chamar a função bin2hex () que usará esses dados binários (número de bytes) como argumento e gerará um valor hexadecimal correspondente como saída, que é uma string Isso é melhor explicado no código de exemplo abaixo.

Código de amostra:

<?php

$n = 20;

$resultado = bin2hex(random_bytes($n));

echo $resultado;

?>

Qual o proximo?

upGrad traz programação com PHP e muito mais com o PG Diploma in Software Development Specialization in Full Stack Development do upGrad . Um programa para fazer você emergir como um desenvolvedor full stack e aprender a construir alguns dos aplicativos incríveis. É um extenso programa de 12 meses que inclui trabalhar em projetos e tarefas ao vivo e também treinar 15 linguagens e ferramentas de programação. Junto com ele, tem suporte de carreira de todos os tempos com entrevistas simuladas e assistência no trabalho.

Aterre no seu emprego dos sonhos

UPGRAD E DIPLOMA PG DO IIIT-BANGALORE EM FULL STACK
Saber mais