A 🌐PassGenAPI é uma ferramenta divertida e útil para gerar senhas fortes:lock::muscle: e seguras para você e seus usuários!:man_technologist: Com a nossa API, você pode facilmente criar senhas aleatórias com vários comprimentos e níveis de complexidade e hashes. Escolha entre caracteres especiais, letras maiúsculas e minúsculas, números e em breve muito mais para personalizar a sua senha! Além disso, você pode integrar facilmente a nossa API com outras ferramentas para tornar a sua aplicação ainda mais segura e confiável. Então, por que usar senhas fáceis de adivinhar quando você pode ter senhas fortes e seguras com a PassGenAPI? 💂🏼♂️
A documentação da PassGenAPI está disponível em inglês e português. Para escolher o idioma desejado, basta clicar no idioma seguinte. Todos os exemplos de código, instruções e explicações estarão disponíveis no idioma escolhido para facilitar a compreensão e utilização da API.
USA English
BRA Português
| Funcionalidades | Descrição |
|---|---|
| password | geração de senhas personalizadas com vários comprimentos, quantidade de senhas e caracteres específicos como símbolos, lowercase, uppercase e digitos |
| hash | geração de hashes de diversos tipos, como MD5, SHA-1, SHA-2 e SHA-3 |
Você pode usar a PassGenAPI para
👉geração de senhas aleatórias
Enviar uma solicitação HTTP POST para o endpoint "https://passgenapi.onrender.com/password". A API aceita os seguintes parâmetros:
| Parâmetros | Tipo | Descrição | Opções | Valor Padrão |
|---|---|---|---|---|
| password_length | int | define o comprimento da senha | 12 | |
| number_of_passwords | int | define o número de senhas que serão geradas | 1 | |
| types_of_characters | str | list[str] | define o tipo de caracteres que serão utilizados para gerar a senha | lowercase, uppercase, digits e symbols | todos os tipos de caracteres |
👉Quer ver um exemplo da utilização destes parâmetros?
import json
import requests
# Define o endpoint da API
endpoint = "https://passgenapi.onrender.com/password"
# Define os dados que serão enviados no formato JSON
password_data = {
"password_length": 10,
"number_of_passwords": 3,
"type_of_characters": ["digits", "lowercase"]
}
# Converte os dados para o formato JSON
json_password_data = json.dumps(password_data)
# Envia a requisição POST para o endpoint da API com os dados em JSON
response = requests.post(url=endpoint, data=json_password_data)
# Exibe a resposta da API
print(response.json()['password'])👉geração de hashes
Enviar uma solicitação HTTP POST para o endpoint "https://passgenapi.onrender.com/hash". A API aceita os seguintes parâmetros:
| Parâmetros | Tipo | Descrição | Opções |
|---|---|---|---|
| data_for_encrypt | str | define o dado que será criptografado | |
| hash_type | str | define o tipo de hash que será utilizado | sha1, sha224, sha256, sha384, sha3-256 e md5 |
👉Exemplo de requisições
$ pip install requestsimport json
import requests
# Define o endpoint da API
endpoint = "https://passgenapi.onrender.com/password"
# Define os dados que serão enviados no formato JSON
password_data = {
"password_length": 10,
"number_of_passwords": 3,
"type_of_characters": ["digits", "lowercase", "symbols"]
}
# Converte os dados para o formato JSON
json_password_data = json.dumps(password_data)
# Envia a requisição POST para o endpoint da API com os dados em JSON
response = requests.post(url=endpoint, data=json_password_data)
# Exibe a resposta da API
print(response.json()['password'])👉Utilizar na máquina local
Para utilizar a PassGenAPI localmente, siga os passos abaixo:
-
Clone o repositório em seu ambiente local:
$ git clone https://github.com/Nicolas-albu/PassGenAPI.git -
Entre no repositório clonado:
$ cd PassGenAPI -
Crie um ambiente virtual com o comando apropriado para o seu sistema operacional:
- Windows:
$ py -m venv nome_do_ambiente - Linux/macOS:
$ python3 -m venv nome_do_ambiente
- Windows:
-
Ative o ambiente virtual:
- Windows:
(nome_do_ambiente)$ nome_do_ambiente\Scripts\activate - Linux/macOS:
(nome_do_ambiente)$ source nome_do_ambiente/bin/activate
- Windows:
-
Instale as dependências com o seguinte comando:
(nome_do_ambiente)$ pip install -r requirements.txt -
Na raiz do projeto PassGenAPI, execute o seguinte comando:
(nome_do_ambiente)$ uvicorn passgenapi.main:app --host localhost --port 8000Esse comando faz com que rode o servidor no host local da sua máquina na porta 8000.
⚠️ Observação: você pode mudar o host e a porta apenas alterando os argumentos de--hoste--port
👉Utilizar em um contâiner Docker
-
Clone o repositório em seu ambiente local:
$ git clone https://github.com/Nicolas-albu/PassGenAPI.git -
Entre no repositório clonado:
$ cd PassGenAPI -
Crie uma imagem da PassGenAPI:
$ docker image build -t image_passgenapi . -
Crie um container pela imagem recém-gerada:
$ docker run -d --name container_passgenapi -p 80:80 image_passgenapi
A 🌐PassGenAPI versão 1.1.10 trouxe as seguintes melhorias:
- Melhoria no encapsulamento dos métodos da classe PasswordGenerator
- Adição de geração de hashes: HashGenerator
- Melhoria nos testes unitários
- Refatoração da classe PasswordGenerator
- Melhoria na perfomance da memória
- Implantação da API um contâiner Docker
- Migração da Vercel para Render
A 🌐PassGenAPI versão 1.1.4 foi a primeira versão a entrar em produção na Vercel, sem contâiner Docker, apenas com FastAPI e Pytest:
- Criação da classe de geração de senhas: PasswordGenerator
- Deploy na Vercel
A 🌐PassGenAPI foi desenvolvida com um foco em alto desempenho, utilizando o framework web FastAPI⚡. Com a utilização do FastAPI, a API oferece uma performance significativamente superior em relação a outras ferramentas similares, garantindo uma experiência ágil e eficiente ao usuário. O FastAPI é conhecido por sua eficiência e facilidade de uso, permitindo que a PassGenAPI seja desenvolvida de forma mais rápida e escalável. Além disso, o FastAPI fornece recursos como documentação automática e validação de tipos, tornando a criação e manutenção da API mais fácil e menos propensa a erros ✔️.
Além disso, a PassGenAPI foi testada com Pytest para garantir a qualidade do código e da aplicação. Os testes automatizados foram uma parte importante do processo de desenvolvimento de software, pois ajudaram a identificar problemas precocemente.
Além disso, estamos sempre trabalhando em novas implementações para oferecer ainda mais opções personalizáveis para a geração de senhas, como a recente implementação do Docker. Então, fique de olho nas atualizações futuras da PassGenAPI para ter acesso a novas funcionalidades e tornar a sua aplicação ainda mais segura e confiável! 🔒
A PassGenAPI está sob a licença Apache-2.0 license, o que significa que você pode usar, modificar e distribuir o código-fonte da API para fins pessoais e comerciais. No entanto, você deve incluir a nota de direito autoral na sua distribuição e garantir que a mesma licença seja aplicada às suas modificações. A licença Apache-2.0 também inclui uma renúncia de garantias e uma limitação de responsabilidade, portanto, certifique-se de lê-la cuidadosamente antes de usar a PassGenAPI em seu projeto.
