SmartSecurityPy é uma biblioteca Python leve e poderosa para tarefas de segurança como hash de senha, criptografia simétrica e validação de JWTs. Ideal para APIs, backends e projetos que precisam de proteção de dados sensíveis.
pip install SmartSecurityPyRequer Python 3.7 ou superior
from SmartSecurityPy import hasher
hashed = hasher.hash_password("minha_senha_segura")
print(hashed)
# Verificação
autenticado = hasher.verify_password("minha_senha_segura", hashed)
print(autenticado) # Truefrom SmartSecurityPy import crypto
# Gera uma chave segura
key = crypto.generate_key()
# Criptografa uma mensagem
mensagem = "dado confidencial"
token = crypto.encrypt_message(mensagem, key)
# Descriptografa
original = crypto.decrypt_message(token, key)
print(original) # "dado confidencial"from SmartSecurityPy import jwt_handler
# Cria um token JWT
data = {"user_id": 123, "role": "admin"}
token = jwt_handler.create_token(data, expires_in_minutes=30)
# Decodifica o token
decoded = jwt_handler.decode_token(token)
print(decoded)
# Verifica se é válido
print(jwt_handler.is_token_valid(token)) # Truefrom SmartSecurityPy import PasswordValidator
# Cria uma instância do validador
validator = PasswordValidator()
# Valida uma senha
result = validator.validate_password("minha_senha123")
print(f"Score: {result.score}") # Pontuação de 0-100
print(f"É forte? {result.is_strong}") # True/False
print(f"Feedback: {result.feedback}") # Lista de sugestões de melhoria
# Obter sugestões específicas para melhorar a senha
suggestions = validator.get_password_suggestions("senha_fraca")
print(f"Sugestões: {suggestions}")-
🎯 Sistema de Pontuação (0-100)
- Comprimento mínimo (8 caracteres): +20 pontos
- Comprimento extra (12+ caracteres): +10 pontos
- Cada tipo de caractere (maiúscula, minúscula, número, especial): +15 pontos
- Penalidades para senhas comuns: -30 pontos
- Penalidades para sequências/repetições: -10 pontos cada
-
🚦 Critérios de Validação
- Comprimento mínimo obrigatório
- Presença de letras maiúsculas e minúsculas
- Inclusão de números
- Uso de caracteres especiais
- Verificação contra senhas comuns
- Detecção de sequências (ex: "123", "abc")
- Identificação de repetições (ex: "aaa")
-
💡 Feedback Inteligente
- Sugestões específicas para melhorar a senha
- Identificação de pontos fracos
- Recomendações de melhoria
- Análise detalhada da força da senha
-
🛡️ Recursos de Segurança
- Base de senhas comuns para comparação
- Detecção de padrões inseguros
- Avaliação de complexidade
- Recomendações baseadas em boas práticas
SmartSecurityPy/
├── SmartSecurityPy/
│ ├── __init__.py
│ ├── hasher.py # 🔑 Hash de senha
│ ├── crypto.py # 🔒 Criptografia simétrica
│ └── jwt_handler.py # 🪙 Geração e validação de JWT
│
├── tests/
│ ├── test_hasher.py
│ ├── test_crypto.py
│ └── test_jwt_handler.py
│
├── setup.py
├── pyproject.toml
├── README.md
└── LICENSE
Execute os testes com pytest:
pytest tests/Roberto Lima
🔗 GitHub: robertolima-dev
📧 Email: robertolima.izphera@gmail.com
- 📧 Email: robertolima.izphera@gmail.com
- 💼 LinkedIn: Roberto Lima
- 💼 Website: Roberto Lima
- 💼 Gravatar: Roberto Lima
Deixe uma ⭐ no repositório e compartilhe com a comunidade! 🚀✨
git clone https://github.com/robertolima-dev/SmartSecurityPy.git
cd SmartSecurityPy
pip install -e .- 🎯 Descrição clara do projeto e seu propósito.
- 🛠 Instruções detalhadas de instalação e uso prático.
- 🏗 Estrutura do projeto para facilitar a navegação.
- 📝 Licença e informações do autor para transparência.
MIT License - use livremente com reconhecimento. 🚀