GithubHelp home page GithubHelp logo

projeto-gerador-de-senhas's Introduction

Gerador de Senhas

Este é um programa desenvolvido por Jeova Bezerra (@Jeova-1704) e Pierre Monteiro (@pierreOF) para gerar senhas aleatórias com base nas preferências do usuário. O código foi implementado utilizando programação orientada a objetos (POO) em Python, o mesmo sendo transformado em um arquivo executável(.exe) para instalar e testar em sua maquina.

Funcionalidades:

O programa possui as seguintes funcionalidades:

  • Geração de senhas aleatórias: o usuário pode definir o número de caracteres desejados, bem como escolher quais tipos de caracteres incluir na senha (letras maiúsculas, letras minúsculas, números e caracteres especiais).
  • Avaliação de segurança da senha: o programa avalia a segurança da senha gerada com base em critérios como comprimento, presença de letras maiúsculas, letras minúsculas, números e caracteres especiais. A segurança é classificada como "Senha Fraca", "Senha Intermediária" ou "Senha Forte".
  • Copiar senha para a área de transferência: o programa permite copiar a senha gerada para a área de transferência, facilitando sua utilização em outros aplicativos.

Arquivos

O código está dividido em dois arquivos principais:

back.py

Este arquivo contém a implementação do backend do programa. Ele foi feito com POO e define a classe `GeradorSenha`, responsável por gerar senhas aleatórias, avaliar a segurança das senhas e copiá-las para a área de transferência.

A classe GeradorSenha possui os seguintes métodos:

  • "gerar_senha(n_caracteres, incluir_maiusculas, incluir_minusculas, incluir_numeros, incluir_especiais)": Este método recebe como parâmetros o número de caracteres desejados para a senha e quais tipos de caracteres devem ser incluídos (maiúsculas, minúsculas, números e caracteres especiais). A partir desses parâmetros, o método gera uma senha aleatória e a retorna.
  • "avaliar_senha(senha)": Este método recebe uma senha como parâmetro e avalia sua segurança, atribuindo uma classificação de "Senha Fraca", "Senha Intermediária" ou "Senha Forte". A avaliação é baseada em critérios como comprimento da senha, uso de caracteres especiais, letras maiúsculas e números.

Além disso, o programa define as seguintes funções:

  • verificar_credenciais(usuario, senha): Esta função recebe um nome de usuário e uma senha como parâmetros e verifica se as credenciais são válidas. Neste exemplo, as credenciais válidas são "Admin" para o nome de usuário e "Admin" para a senha. A função retorna True se as credenciais forem válidas e False caso contrário.

Você pode adicionar mais métodos à classe GeradorSenha ou funções adicionais ao arquivo back.py de acordo com suas necessidades. O uso de classes e métodos ajuda a organizar o código e facilita a reutilização de funcionalidades em diferentes partes do programa. Certifique-se de instalar as bibliotecas necessárias para executar o programa, como mencionado anteriormente, e siga as instruções fornecidas na seção anterior para executar o programa. Lembre-se de que este programa é um exemplo simples e pode ser aprimorado e adaptado de várias maneiras para atender às suas necessidades específicas.

front.py

Este arquivo contém a implementação do frontend do programa, utilizando a biblioteca PySimpleGUI para criar a interface de usuário. Ele define duas janelas: uma janela de login e uma janela principal. A janela de login é exibida inicialmente e permite que o usuário entre com suas credenciais. Após o login bem-sucedido, a janela principal é exibida, onde o usuário pode gerar senhas e realizar outras ações.

A janela de login possui os seguintes elementos:

  • Campos de entrada: há dois campos de entrada para o usuário digitar seu nome de usuário e senha.
  • Botão "Entrar": ao clicar neste botão, o programa verifica se as credenciais fornecidas estão corretas e exibe a janela principal em caso de sucesso ou exibe uma mensagem de erro em caso de falha no login

A janela principal possui os seguintes elementos:

  • Campos de configuração da senha: o usuário pode definir o número de caracteres desejados para a senha e escolher quais tipos de caracteres incluir na senha (letras maiúsculas, letras minúsculas, números e caracteres especiais).
  • Botão "Gerar Senha": ao clicar neste botão, o programa utiliza a classe GeradorSenha do arquivo back.py para gerar uma senha aleatória com base nas configurações definidas pelo usuário.
  • Área de exibição da senha gerada: a senha gerada é exibida neste campo após o usuário clicar no botão "Gerar Senha".
  • Botão "Avaliar Senha": ao clicar neste botão, o programa utiliza a classe GeradorSenha do arquivo back.py para avaliar a segurança da senha gerada, exibindo uma classificação de "Senha Fraca", "Senha Intermediária" ou "Senha Forte".
  • Botão "Copiar para Área de Transferência": ao clicar neste botão, o programa copia a senha gerada para a área de transferência do sistema operacional.

Além disso, o programa define as seguintes funções:

  • janela_login(): exibe a janela de login e verifica as credenciais fornecidas pelo usuário.
  • janela_principal(): exibe a janela principal após o login bem-sucedido, permitindo ao usuário gerar senhas, avaliar a segurança das senhas e copiá-las para a área de transferência.

Como executar o programa:

1-Certifique-se de ter o Python instalado em seu ambiente. Você pode baixar o Python em https://www.python.org/downloads/

2-instale as bibliotecas necessárias executando o seguinte comando no terminal:

pip install PySimpleGUI
pip install pyperclip

3-Baixe os arquivos back.py e front.py e salve-os em uma pasta.

4-Execute o arquivo front.py para iniciar o programa. Você

5-A janela de login será exibida. Insira as credenciais (usuário: "Admin", senha: "Admin") e clique no botão "Entrar".

6-A janela principal será exibida. Agora você pode gerar senhas, avaliar a segurança das senhas e copiá-las para a área de transferência.

Considerações finais

A interface de usuário do Gerador de Senhas foi desenvolvida utilizando programação orientada a objetos (POO) para organizar e estruturar o código. Essa abordagem permite uma melhor separação de responsabilidades e facilita a manutenção e extensão do programa.

Junto com os arquivos do projeto segue um arquivo executavél do mesmo, para caso de você não tenha o python instalado me sua maquina ou deseja ter o nosso projeto em seu computador.

projeto-gerador-de-senhas's People

Contributors

jeova-1704 avatar pierreof avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.