Como criar um gerador de senha aleatória
Publicados: 2022-01-29Os leitores regulares da PCMag sabem que aconselhamos fortemente o uso de uma senha complexa e única para cada site, e que a única maneira de fazer isso é com a ajuda de um gerenciador de senhas. Carregar essa ferramenta com todas as suas senhas é um bom começo, mas o trabalho não para por aí. Você não está totalmente protegido até substituir todas as senhas fracas e reutilizadas por uma senha exclusiva que ninguém pode adivinhar e que nem mesmo você consegue lembrar. Um ataque de quebra de senha de força bruta pode atingir uma senha como Rover, mas falhará quando a senha for algo como ApiDiS57IhY1M#t%qIEg.
Onde você obtém suas senhas?
A questão é onde você consegue essas senhas aleatórias? Praticamente todo gerenciador de senhas vem com seu próprio gerador de senhas aleatórias, alguns dos quais são melhores que outros. Na maioria dos casos, porém, o programa usa o que é chamado de algoritmo pseudo-aleatório. Em teoria, um hacker que conhece o algoritmo e tem acesso a uma de suas senhas geradas poderia replicar todas as senhas geradas subsequentemente (embora fosse bastante difícil). Se você for paranóico o suficiente, talvez queira criar seu próprio gerador de senhas aleatórias. Podemos ajudá-lo a construí-lo usando o Microsoft Excel.
Algumas tarefas de segurança estão inegavelmente além do domínio do faça você mesmo, é verdade. Você não vai construir sua própria rede privada virtual, ou VPN, por exemplo. Mas construir este pequeno projeto não requer conhecimento avançado, apenas a capacidade de seguir instruções. Ele não usa macros ou coisas extravagantes, apenas funções comuns do Excel. Observe que este projeto depende necessariamente do algoritmo pseudo-aleatório do Excel. A diferença aqui é que os bandidos podem estudar o gerador de senhas embutido em qualquer gerenciador de senhas disponível publicamente, enquanto eles não têm acesso ao seu construído em casa.
Nossas principais escolhas do gerenciador de senhas
Ver todos (4 itens)Crie o Scaffold do Gerador de Senhas
Primeiro, vamos criar o scaffold que irá enquadrar nosso gerador de senhas, ou seja, os rótulos e componentes estáticos. Por favor, coloque as coisas exatamente nas células que descrevo, para que as fórmulas funcionem. Depois de fazê-lo funcionar, você pode ajustá-lo para torná-lo totalmente seu.
Na célula B1, digite "Gerador de Senha Aleatória", ou qualquer título que desejar para o seu projeto. Começando na célula B3 e descendo, insira os rótulos "Comprimento", "Letras maiúsculas", "Letras minúsculas", "Dígitos" e "Caracteres especiais". Pule a célula B8, digite "Pressione F9 para Regenerar" em B9 e "SENHA" em B10. Deve ficar como a imagem abaixo.
Na célula C3, insira 16 ou o comprimento de senha padrão de sua preferência. Digite "Sim" nas próximas quatro células abaixo dele. Agora insira todo o alfabeto maiúsculo na célula D4 e todo o alfabeto minúsculo em D5. Digite os 10 dígitos em D6 e quaisquer caracteres especiais que você deseja usar em D7. Dica profissional: coloque o 0 por último, não primeiro, na lista de dígitos, ou o Excel o eliminará. O andaime completo deve ser algo assim:
Adicione as fórmulas que geram senhas
Para começar, precisamos construir uma string de texto que inclua todos os caracteres que escolhemos usar. A fórmula para fazer isso parece um pouco complicada, mas, na verdade, é apenas longa. Digite esta fórmula na célula D8:
=SE(C4="Sim",D4,"") &IF(C5="Sim",D5,"") &IF(C6="Sim",D6,"") &IF(C7="Sim",D7, "")
O operador & cola strings de texto. O que esta fórmula diz é que, para cada um dos quatro conjuntos de caracteres, se a célula adjacente contiver Sim, inclua o conjunto de caracteres. Mas se essa célula contiver qualquer coisa além de Sim (independentemente de maiúsculas ou minúsculas), não a inclua. Tente agora; altere algumas das células Sim para Não, Não ou Sapo. A sequência de caracteres disponíveis muda para corresponder ao que você fez.
Em seguida vem a fórmula para gerar uma senha aleatória. Na célula C10, comece com esta versão preliminar:
=MID(D8,RANDBETWEEN(1,LEN(D8)),1)
Vou quebrar isso de dentro para fora. A função LEN retorna o comprimento de qualquer valor que você passar, neste caso o comprimento da string de caracteres disponíveis. Chamar RANDBETWEEN não surpreendentemente retorna um número aleatório entre os dois números que você fornece, neste caso um e o comprimento. E a função MID retorna um pedaço da string de entrada começando no primeiro número que você passa e continua pelo número de caracteres que você especifica, neste caso apenas um. Portanto, esta fórmula retorna um caractere aleatório do conjunto de caracteres disponível. Pressionar F9 diz ao Excel para recalcular todas as funções; tente algumas vezes e observe a mudança aleatória de caracteres.
Claro, isso é apenas um caractere, não uma senha inteira. O próximo passo é um pouco trabalhoso, mas não é realmente difícil. Clique na barra de funções para editar essa última entrada, acrescente um caractere & ao final, realce tudo exceto o sinal de igual e pressione Ctrl+C para copiá-lo para a área de transferência. Digamos que queremos um comprimento máximo de senha de 40 caracteres. Então, pressione Ctrl + V 39 vezes. Exclua o e comercial final, pressione Enter e pronto.
Bem, você está quase pronto. Conforme escrito, este gerador de senhas sempre cria senhas de 40 caracteres. Precisamos reduzir sua saída para o comprimento especificado. Salve seu trabalho neste momento, porque você estará editando essa fórmula de quilômetro e meio; você não gostaria de excluí-lo por acidente!
Selecione a fórmula que gera a senha e clique na barra de fórmulas logo após o sinal de igual. Dica profissional: Pressionar Ctrl+Alt+U neste ponto aumenta a barra de fórmulas. Digite LEFT seguido por um parêntese aberto. Role até o final da fórmula e digite uma vírgula, C3 e um parêntese de fechamento. Bravo! A fórmula agora corta a senha para o comprimento que você escolheu.
Ajustando o gerador de senhas
O gerador de senhas está totalmente funcional neste momento. Se você está feliz com ele como está, ótimo: você conseguiu! Mas se você estiver interessado, poderá melhorar sua aparência e funcionalidade de várias maneiras. Para começar, clique com o botão direito do mouse no D na parte superior da coluna D e escolha Ocultar no menu. Agora você não precisa ver as listas de conjuntos de caracteres e os cálculos intermediários.
Normalmente, você deseja definir limites superiores e inferiores de comprimento em um gerador de senha. Além disso, se você inserir qualquer coisa além de um número no campo Comprimento, a fórmula falhará. Nós podemos resolver isso. Clique na célula C3, que define o comprimento, clique em Dados na faixa de opções e selecione Validação de Dados. Se você não vir o rótulo Validação de dados, estique mais a planilha.
No pop-up resultante, clique no menu suspenso em Permitir e escolha Número inteiro. Desmarque a caixa Ignorar em branco e defina o Mínimo para 8 e o Máximo para 40. Quando se parecer com a captura de tela aqui, clique na próxima guia, Mensagem de entrada. Como a mensagem de entrada, digite "Digite um comprimento de 8 a 40". Copie esse texto para a área de transferência e cole-o no campo Mensagem de erro da guia Alerta de erro e clique em OK. Agora, quando você clica na célula Comprimento, recebe uma solicitação para inserir o comprimento correto e, se cometer um erro, recebe uma mensagem de erro informativa.
Recomendado por nossos editores
Pronto para um ajuste final? Digite "Sim" na célula E1 e "Não" logo abaixo dela. Clique na célula C4, a célula à direita do rótulo Letras maiúsculas. Mais uma vez, clique em Dados na faixa de opções e selecione Validação de dados. Escolha Lista na lista suspensa, desmarque Ignorar em branco, clique na caixa Origem e realce as células E1 e E2. Na guia Input Message, digite "Yes or No" como a mensagem. Na página Alerta de Erro, digite "Sim ou Não" como mensagem de erro. Clique em OK para finalizar. Copie esta célula para as três células abaixo dela.
É isso! Agora, essas quatro células aceitam apenas Sim ou Não como valores. Melhor ainda, cada um agora adquiriu uma lista suspensa que permite que você escolha um desses valores. Ah, agora que você terminou, clique com o botão direito no grande E no topo da coluna E e escolha Ocultar, para que você não veja as células que alimentam o sistema de validação de dados.
Neste ponto, você pode querer ser criativo e adicionar formatação para tornar seu gerador de senhas menos industrial. Escolha as fontes que você gosta, adicione cores, ajuste as coisas até que fique ótimo para você.
Por fim, vamos bloqueá-lo, para que você não destrua acidentalmente uma fórmula inserindo dados na célula errada. Realce as células C3 a C7 (que é a célula de comprimento mais as quatro células sim/não), clique com o botão direito do mouse e escolha Formatar células. Clique na guia Proteção e desmarque a caixa de seleção Bloqueado e clique em OK. Clique em Revisar na faixa de opções e clique em Proteger planilha. Basta clicar em OK para aceitar as configurações na caixa de diálogo resultante; você não está tentando proteger a folha com senha, apenas para protegê-la contra dedos atrapalhados. Salve o resultado glorioso!
Faça um gerador de senhas no Planilhas Google
Eu sou um gênio do Excel e tenho sido desde antes do Google Sheets existir. Talvez até desde antes do Google existir! Mas eu sei que muitas pessoas confiam no Planilhas Google, então eu o acionei para ter certeza de que ele suporta este projeto.
Segui minhas próprias instruções para criar o gerador de senhas no Planilhas e descobri que tudo funcionou bem, até a fórmula que exibe um caractere aleatório. Tudo funcionou, mas pressionar F9 falhou ao atualizar com um novo caractere aleatório. Consultando o Google, descobri que para forçar uma atualização você deve pressionar F5, atualizando assim toda a página, ou alterar o valor de qualquer célula. É estranho, mas é possível. Mudei o prompt para dizer "Pressione F5 para regenerar".
Em vez de recriar a fórmula gigantesca que executa a geração completa de senhas, copiei-a da minha planilha do Excel. Aleluia! Funcionou! Não vou entrar em detalhes aqui, mas consegui recriar as regras de validação de dados e ocultar as colunas indesejadas também. Se você estiver usando o Planilhas em vez do Excel, esse projeto ainda poderá funcionar para você.
Você fez isso!
Se você aceitou a versão básica ou passou a aplicar os ajustes sofisticados, agora você tem um gerador de senhas que você mesmo escreveu. É verdade que o Excel usa um gerador de números pseudo-aleatórios, mas você pode adicionar sua própria aleatoriedade tocando em F9 repetidamente antes de aceitar a senha gerada. E enquanto um hacker pode trabalhar para fazer engenharia reversa do gerador de senhas em um produto de gerenciamento de senhas usado por milhões, seu utilitário único não está no radar. Você fez isso!