Skip to main content

🔐 SmartSecurityPy

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.


⚙️ Instalação

pip install SmartSecurityPy

Requer Python 3.7 ou superior


✨ Funcionalidades

🔑 Hash de Senhas com Bcrypt

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)  # True

🔒 Criptografia e Descriptografia com Fernet

from 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"

🪙 JWT (JSON Web Tokens)

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))  # True

🔍 Validação de Força de Senha

from 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}")

✨ Características da Validação de Senha

  • 🎯 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

📁 Estrutura do Projeto

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

🧪 Testes

Execute os testes com pytest:

pytest tests/

🧠 Autor

Roberto Lima
🔗 GitHub: robertolima-dev
📧 Email: robertolima.izphera@gmail.com


💬 Contato


⭐ Gostou do projeto?

Deixe uma ⭐ no repositório e compartilhe com a comunidade! 🚀✨

git clone https://github.com/robertolima-dev/SmartSecurityPy.git
cd SmartSecurityPy
pip install -e .

🌟 O que este README oferece?

  • 🎯 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.

📄 Licença

MIT License - use livremente com reconhecimento. 🚀

Release files for SmartSecurityPy 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for SmartSecurityPy 1.0.1
File Size Uploaded
smartsecuritypy-1.0.1.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SmartSecurityPy 1.0.1
File Interpreter ABI Platform
smartsecuritypy-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.3 kB

Release files / smartsecuritypy-1.0.1.tar.gz

Download URL smartsecuritypy-1.0.1.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
207050869472a5c589ca9189f58db574e1470a704f730ea9c2b6041ed8cb6d28
BLAKE2b-256 checksum
How to use checksums
df3fa925c7a85eeac150ece0584506bcfae01f6f8d300bd9a61d16480219422e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / smartsecuritypy-1.0.1-py3-none-any.whl

Download URL smartsecuritypy-1.0.1-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
658f26cb4b7a11c42b93b324cc541600abf070dc384944510cad64ac3cde2750
BLAKE2b-256 checksum
How to use checksums
8aa87b2b9a7a688f16860e983a837c95d7b0f7953f27a4f0fd8c08792e1057c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page