📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Especialização em Segurança e Criptografia. Recomendado revisar antes de começar.

🛡️ Criptografia AES-256-GCM, Hashing Argon2id & MFA TOTP

v1.0 — Engenharia de Software & Práticas Profissionais

Trilha de Especialização Pedagógica

—`

🎯 Objetivo & Escopo do Projeto

Módulo corporativo de segurança com criptografia de envelope AES-256-GCM para dados sensíveis em repouso (LGPD/GDPR), hashing de senhas com Argon2id e autenticação multifator (MFA) baseada em TOTP (Google Authenticator).

—`

🛠️ Código de Exemplo da Implementação

import pyotp
import os
from argon2 import PasswordHasher

ph = PasswordHasher()

# 1. Hashing seguro com Argon2id
def criar_hash_senha(senha: str) -> str:
    return ph.hash(senha)

def verificar_senha(hash_senha: str, senha_digitada: str) -> bool:
    try:
        return ph.verify(hash_senha, senha_digitada)
    except Exception:
        return False

# 2. MFA com TOTP (Google Authenticator)
def gerar_segredo_mfa() -> str:
    return pyotp.random_base32()

def validar_token_mfa(segredo: str, token: str) -> bool:
    totp = pyotp.TOTP(segredo)
    return totp.verify(token)

if __name__ == "__main__":
    print("=== Modulo de Criptografia & MFA TOTP ===")
    hash_pwd = criar_hash_senha("SuperSenha@2026")
    print(f"Senha hasheada com Argon2id: {hash_pwd[:30]}...")
    segredo = gerar_segredo_mfa()
    token_atual = pyotp.TOTP(segredo).now()
    print(f"Token MFA gerado: {token_atual} -> Valido: {validar_token_mfa(segredo, token_atual)}")

—`

🚀 Como Executar no Laboratório

1. Abra o terminal na pasta deste projeto

No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:

cd seguranca_02_criptografia_mfa_oauth

2. Execute a aplicação ou testes

docker-compose up -d
python audit_security.py

[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/seguranca_02_criptografia_mfa_oauth

⬅️ Ver Todos os Projetos no Super-Hub 🏠 Página Inicial do Portal