angelohd/senha-forte

Gerador e verificador de senhas fortes (com verificação HIBP + cache).

Maintainers

Package info

github.com/angelohd/SenhaForte

pkg:composer/angelohd/senha-forte

Transparency log

Statistics

Installs: 136

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v1.0.0 2025-10-28 08:07 UTC

This package is auto-updated.

Last update: 2026-08-25 15:30:43 UTC


README

    SenhaForte-PHP
----------------------

Uma biblioteca PHP para gerar senhas fortes, validar complexidade e verificar se ja foram comprometidas em wordlists publicas (via Have I Been Pwned API), com cache local para melhor performance.

PHP License

    Funcionalidades
--------------------------
  • Geracao de senhas fortes e aleatorias (minimo 12 caracteres)

  • Validacao de complexidade com politica configuravel

  • Verificacao contra senhas comprometidas (HIBP API)

  • Cache local com expiracao de 24h

  • Hashing seguro com Argon2i (ou Bcrypt como fallback)

  • Geracao de codigos numericos aleatorios (OTP)

  • Comparacao segura contra timing attacks

      Instalacao
    

composer require angelohd/senha-forte

    Exemplo de Uso
--------------------
<?php

require __DIR__ . '/vendor/autoload.php';

use Angelohd\GeradorSenha;

$gerador = new GeradorSenha();

// Gerar senha forte (16 caracteres)
$senha = $gerador->gerarSenha(16);
echo "Senha: {$senha}\n";

// Verificar se e forte
if ($gerador->verificarSenhaForte($senha)) {
    echo "Senha forte!\n";
}

// Pontuacao de 0 a 10
$score = $gerador->pontuarSenha($senha);
echo "Score: {$score}/10\n";

// Hash para armazenamento
$hash = $gerador->gerarHash($senha);

// Verificar senha contra hash
$gerador->verificarSenhaUsuario($senha, $hash);

// Verificar se senha foi comprometida (HIBP)
try {
    if ($gerador->verificarSenhaComprometida($senha)) {
        echo "Senha comprometida!\n";
    }
} catch (\RuntimeException $e) {
    echo "Erro HIBP: " . $e->getMessage() . "\n";
}

// Gerar OTP
$otp = $gerador->gerarCodigoNumero(6, true);
echo "OTP: {$otp}\n";
    Metodos Disponiveis
--------------------
Metodo Descricao
gerarSenha(int $tamanho) Gera senha forte aleatoria
verificarSenhaForte(string $senha) Verifica se atende politica padrao
validarPoliticaSenha(string, int, bool) Valida com regras configuraveis
pontuarSenha(string $senha) Retorna score de 0 a 10
gerarHash(string $senha, ?array $opts) Gera hash seguro (Argon2i/Bcrypt)
verificarSenhaUsuario(string, string) Verifica senha contra hash
verificarRehash(string, string) Verifica se hash esta desatualizado
verificarSenhaIgual(string, string) Comparacao segura (timing-safe)
verificarSenhaComprometida(string) Consulta HIBP API
limparCacheAntigo(int $dias) Remove caches expirados
gerarCodigoNumero(int, bool) Gera OTP numerico
    Licenca
--------------------

MIT