Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
password_generator — A production-ready, cryptographically secure password generator CLI with 17 generation modes, entropy transparency, and comprehensive customization options. | Kitploit
Outils/GitHubGitHub/krishnakanthb13/password_generator
General Purpose UtilitiesPassword CrackingEncryption/Decryption ToolsCryptographyUtilities & FrameworksAuthentication
GitHubkrishnakanthb13/password_generator

password_generator

A production-ready, cryptographically secure password generator CLI with 17 generation modes, entropy transparency, and comprehensive customization options.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
244il y a 6 moisVérifié par Kitploit

PassForge - Générateur de mots de passe tout-en-un en CLI

Un générateur de mots de passe CLI prêt pour la production, cryptographiquement sécurisé, avec 17 modes de génération, transparence d'entropie et options de personnalisation complètes.

PassForge_v1.2.0

PassForge_v1.0.5

PassForge_v1.0.14

Fonctionnalités

17 modes de génération

GénérateurCommandeDescription
Aléatoirerandom, rMots de passe aléatoires cryptographiquement sécurisés
Passphrasephrase, pPassphrases basées sur des mots utilisant la liste EFF
Leetspeakleet, lPassphrases avec substitution de caractères (A→4, E→3, etc.)
Code PINpinCodes PIN numériques de longueur configurable
Prononçablepronounce, prMots de passe faciles à prononcer basés sur des syllabes
UUIDuuid, uUUID RFC 4122/9562 (v1, v4, v7) et court (Base58)
Base64base64, b64Secrets encodés en base64 sécurisés pour les URL
Secret JWTjwtSecrets à haute entropie pour la signature JWT (HS256/384/512)
Clé WiFiwifiClés compatibles WPA2/WPA3 (8-63 caractères)
Clé de licencelicenseClés de licence logicielles (format AXB, ex. 5x5)
Codes de récupérationrecoveryCodes de sauvegarde 2FA (numériques ou basés sur des mots)
Code/Secret OTPotpCodes TOTP/HOTP et secrets avec URI otpauth
MotifpatternMots de passe basés sur des grilles visuelles
Phrase thématiquephrase (personnalisé)Passphrases à partir de listes de mots thématiques (animaux, science-fiction, etc.)
  • Profils prédéfinis : Génération en un clic pour les cas d'utilisation courants (Fort, Mémorisable, Développeur, etc.)
  • Menu interactif : Menu complet pour une génération guidée
  • Lanceurs plateforme : Scripts .bat et .sh dédiés avec menus interactifs
  • Sécurité cryptographique : Utilise le module secrets de Python pour le CSPRNG
  • Transparence d'entropie : Calcul d'entropie en temps réel et analyse de robustesse
  • Analyse zxcvbn : Vérification de la robustesse des mots de passe basée sur des motifs (attaques par dictionnaire, séquences)
  • Presse-papiers sécurisé : Effacement automatique du presse-papiers après un délai configurable
  • Codes OTP en direct : Génère les codes TOTP actuels à 6/8 chiffres en parallèle du secret
  • Codes QR pour OTP : Codes QR scannables pour les applications d'authentification
  • Sortie colorée : Distinction visuelle entre les types de caractères
  • Export JSON : Sortie lisible par machine pour les scripts
  • Mode équilibré : Assure une distribution lisible (60% Lettres, 20% Chiffres, 20% Symboles)
  • Guide du générateur : Documentation complète pour les 14 types de générateurs.
  • Historique chiffré (Coffre) : Chiffre automatiquement les mots de passe sauvegardés avec AES-128 (Fernet).
  • Stockage sécurisé du coffre : Un coffre dédié gère les clés cryptographiques via .env (recommandé) ou .vault.key hérité avec des permissions strictes 0600

Installation

root@kitploit:~
# Clonez le dépôt
git clone https://github.com/krishnakanthb13/password_generator.git
cd password_generator

# Installez les dépendances (colorama, cryptography, pyperclip, etc.)
pip install -r requirements.txt

Démarrage rapide

root@kitploit:~
# Générer un mot de passe aléatoire de 20 caractères
python main.py random -l 20

# Générer une passphrase de 4 mots
python main.py phrase -w 4 --capitalize

# Générer une passphrase en leetspeak
python main.py leet -w 3 -s _

# Générer avec analyse d'entropie
python main.py --show-entropy random -l 16

# Lancer le mode interactif
python main.py --interactive

# Utiliser un profil prédéfini (Fort)
python main.py --preset strong --show-entropy

Exemples d'utilisation

Mots de passe aléatoires

root@kitploit:~
# Mot de passe basique de 16 caractères
python main.py random

# 24 caractères, lettres seulement
python main.py random -l 24 --no-symbols --no-digits

# Facile à lire (pas de 0/O, 1/l/I)
python main.py --easy-read random -l 20

# Avec exigences minimales
python main.py random -l 16 --min-upper 2 --min-digits 2 --min-symbols 1

# Mode équilibré (surtout des lettres, moins de symboles)
python main.py random -l 24 --balanced

Passphrases

root@kitploit:~
# Passphrase standard de 4 mots
python main.py phrase -w 4

# Avec capitalisation et séparateur underscore
python main.py phrase -w 5 -s _ --capitalize

# Casse alternée (Haute entropie)
python main.py phrase -w 4 -s . --alternate
# Sortie : aPpLe.bAnAnA.cHeRrY.dAtE

# Tout en majuscules avec séparateur trait d'union (Haute entropie)
python main.py phrase -w 4 -s . --uppercase
# Sortie : APPLE-BANANA-CHERRY-DATE

# Version leetspeak (Substitution intelligente de 50 %)
python main.py leet -w 4 -s -
# Sortie : 4PPl3.8@N@[email protected]

# Passphrase thématique (en utilisant 'animals.txt')
python main.py phrase -w 4 --capitalize --wordlist data/wordlists/animals.txt
# Sortie : Tiger-Falcon-Shark-Wolf

Clés logicielles (A x B)

root@kitploit:~
# 5 segments de 5 caractères
python main.py license --segments 5 --segment-length 5

# 4 segments de 8 caractères
python main.py license --segments 4 --segment-length 8

Jetons développeur

root@kitploit:~
# Secret JWT pour HS256
python main.py jwt --bits 256

# Clé API Base64
python main.py base64 -b 32 --url-safe

# Jeton UUID (v4 Aléatoire)
python main.py uuid --upper

# UUID v7 (temporel, triable)
python main.py uuid --ver 7
# Ou raccourci
python main.py uuid --v7

# UUID court (encodé Base58, ~22 caractères)
python main.py uuid --short

# Générer un UUID v7 avec le raccourci
python main.py u --v7

# Générer 10 UUID v4 courts
python main.py uuid --v4 --short -n 10

# Conversion phonétique OTAN
python main.py phonetic --text "PassForge"
# Sortie : Papa-Alpha-Sierra-Sierra-Foxtrot-Oscar-Romeo-Golf-Echo

Sécurité & Journalisation

root@kitploit:~
# Analyser un mot de passe existant
python main.py analyze "p@ssword123"

# Enregistrer dans l'historique
python main.py --log random -l 16

# Voir les 10 dernières entrées d'historique (par défaut)
python main.py history

# Voir toutes les entrées d'historique (déchiffrées à la volée)
python main.py history --all

# Voir l'historique avec mots de passe expurgés
python main.py history --redact

# Exporter l'historique (Expurgé par défaut)
python main.py history --export backup.json

# Exporter l'historique (en texte clair - nécessite prudence)
python main.py history --export secrets.csv --no-redact

# Sortie JSON pour les scripts
python main.py --json jwt --bits 256

Référence des commandes

Options spécifiques aux générateurs

Aléatoire (random, r)

Passphrase (phrase, p)

Leetspeak (leet, l)

Code PIN (pin)

OptionDéfautDescription
-l, --length6Longueur du PIN (4-64)
-n, --count1Nombre à générer

Prononçable (pronounce, pr)

OptionDéfautDescription
-l, --length12Longueur du mot de passe (4-128)
-n, --count1Nombre à générer

UUID (uuid)

Base64 (base64, b64)

OptionDéfautDescription
-b, --bytes32Nombre d'octets aléatoires
--url-safe-Utiliser des caractères sécurisés pour les URL

Secret JWT (jwt)

OptionDéfautDescription
--bits256Longueur en bits (256, 384, 512)
--hex-Sortie sous forme de chaîne hexadécimale

Clé WiFi (wifi)

OptionDéfautDescription
-l, --length24Longueur de la clé (8-63, défaut : 24)
--simple-Alphanumérique uniquement (pas de symboles)

Clé de licence (license)

OptionDéfautDescription
--segments4Nombre de segments (2-64)
--segment-length4Caractères par segment (2-32)

Codes de récupération (recovery)

Secret OTP (otp)

OptionDéfautDescription
--digits6Longueur du code (6 ou 8)

Motif (pattern)

OptionDéfautDescription
--grid3Taille de la grille (ex. 3x3)

Phonétique (phonetic, ph)

OptionDéfautDescription
--text-Texte à convertir en alphabet OTAN
-l, --length8Longueur de la séquence aléatoire (4-64)

Historique (history)

Guide d'entropie

PassForge fournit un rapport d'entropie complet incluant la taille brute du pool de caractères, les bits de Shannon et les estimations de temps de force brute.

Remarque : Pour une explication détaillée de chaque type de générateur, voir LITERATURE.md.

Structure du projet

root@kitploit:~
password_generator/
├── main.py                 # Point d'entrée
├── requirements.txt        # Dépendances
├── src/
│   ├── __init__.py
│   ├── cli.py                # Analyseur d'arguments & bannière
│   ├── command_handler.py    # Routage des commandes
│   ├── interactive.py        # Menu interactif
│   ├── generators/           # Tous les générateurs de mots de passe
│   │   ├── base.py           # Classe de base abstraite
│   │   ├── random_password.py # Générateur de mots de passe aléatoires
│   │   ├── passphrase.py     # Générateur de passphrases
│   │   ├── leetspeak.py      # Générateur leetspeak
│   │   ├── pin.py            # Générateur de codes PIN
│   │   ├── pronounceable.py  # Générateur de mots de passe prononçables
│   │   ├── uuid_token.py     # Générateur de jetons UUID
│   │   ├── base64_secret.py  # Générateur de secrets Base64
│   │   ├── jwt_secret.py     # Générateur de secrets JWT
│   │   ├── wifi_key.py       # Générateur de clés WiFi
│   │   ├── license_key.py    # Générateur de clés de licence
│   │   ├── recovery_codes.py # Générateur de codes de récupération
│   │   ├── otp.py            # Générateur OTP
│   │   ├── pattern.py        # Générateur de motifs
│   │   └── phonetic.py       # Générateur phonétique OTAN
│   ├── security/
│   │   ├── entropy.py        # Calculateur d'entropie
│   │   ├── strength_checker.py # Intégration zxcvbn
│   │   └── vault.py          # Chiffrement sécurisé de l'historique
│   ├── output/
│   │   ├── formatter.py      # Sortie colorée
│   │   ├── logger.py         # Journalisation de l'historique
│   │   ├── clipboard.py      # Gestion sécurisée du presse-papiers
│   │   └── qrcode_gen.py     # Génération de codes QR pour OTP
│   ├── config/
│   │   ├── loader.py         # Chargeur de configuration YAML/JSON
│   │   └── presets.py        # Profils de sécurité prédéfinis
├── data/
│   └── wordlists/            # Listes de mots thématiques (animals.txt, biology.txt, etc.)
└── tests/

Tests

root@kitploit:~
# Exécuter tous les tests
python -m pytest tests/ -v

# Exécuter une classe de test spécifique
python -m pytest tests/test_generators.py::TestRandomPasswordGenerator -v

# Exécuter avec couverture
python -m pytest tests/ --cov=src --cov-report=html

Les 53 tests unitaires couvrent :

  • Les 15 modes de générateur spécialisés
  • Les calculateurs d'entropie et de robustesse zxcvbn
  • L'effacement automatique du presse-papiers et le stockage sécurisé
  • La logique de génération de codes QR ASCII
  • Le chargement de la configuration et les profils prédéfinis

Configuration

PassForge prend en charge les fichiers de configuration au format YAML ou JSON.

Emplacements des fichiers de configuration (recherchés dans l'ordre) :

  1. ./passforge.yaml ou ./passforge.json
  2. ./.passforge.yaml ou ./.passforge.json
  3. ~/.passforge/config.yaml ou ~/.passforge/config.json

Exemple de configuration

root@kitploit:~
{
  "random": {
    "length": 20,
    "easy_read": true
  },
  "passphrase": {
    "words": 5,
    "capitalize": true
  },
  "output": {
    "show_entropy": true
  }
}

Voir passforge.example.json pour toutes les options disponibles.

Construction d'un exécutable autonome

PassForge peut être compilé en un seul exécutable autonome en utilisant PyInstaller.

Windows

root@kitploit:~
# En utilisant le script de construction
passforge_build.bat

# Ou manuellement
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py

Linux/macOS

root@kitploit:~
# En utilisant le script de construction
chmod +x passforge_build.sh
./passforge_build.sh

# Ou manuellement
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py

L'exécutable sera créé dans le dossier dist/ (~7 Mo, zéro dépendance).

🌐 PassForge Web (Module complémentaire PWA)

PassForge inclut désormais une interface Web moderne et réactive (PWA) qui offre un moyen visuel de générer et gérer les mots de passe tout en maintenant une parité complète avec la version CLI.

Principales fonctionnalités

  • Interface latérale : Navigation facile entre tous les types de générateurs.
  • Curseurs visuels : Ajustez les longueurs et le nombre de mots avec des curseurs interactifs.
  • Support QR : Génération instantanée de codes QR pour partager des mots de passe ou des secrets OTP.
  • Mode sombre/clair : Esthétique premium avec changement de thème adapté au système.
  • Installable : Prise en charge de l'installation PWA sur Windows, Linux et mobile.
  • Historique partagé : Utilise le même fichier de journal chiffré que la CLI.

Lancement de la PWA

Pour démarrer l'interface Web, exécutez le script de lancement pour votre système d'exploitation :

  • Windows : passforge_pwa.bat
  • Linux/macOS : passforge_pwa.sh

[!IMPORTANT] Durcissement de la sécurité (v34+) : La PWA utilise désormais un gestionnaire SecureStaticFiles qui bloque explicitement l'accès du navigateur aux fichiers sources Python, aux journaux et aux clés cryptographiques. L'accès à l'historique est protégé via une poignée de main de clé API interne. La logique frontend inclut également des wrappers défensifs pour les actifs CDN externes afin de garantir la fonctionnalité même si un CDN est bloqué.

[!TIP] Disponibilité de la construction : Les fichiers PWA sont inclus dans les distributions Code source et ZIP/Tarball. La PWA n'est pas intégrée dans le binaire .exe mono-fichier.

Le lanceur installera automatiquement les dépendances nécessaires (fastapi, uvicorn), démarrera un serveur local à http://127.0.0.1:8093 et ouvrira votre navigateur.

Licence

Licence GPL v3 - voir LICENSE pour les détails.

Contribution

Les contributions sont les bienvenues ! Veuillez lire nos directives de contribution avant de soumettre des PR.

Télécharger l’outil
Phonétique OTAN
phonetic, ph
Convertir du texte/mots de passe en alphabet OTAN (Alpha-Bravo)
Analyseranalyze, checkAnalyser la robustesse d'un mot de passe existant
HistoriquehistoryAfficher l'historique des générations de mots de passe (10 entrées par défaut)
  • Architecture zéro fuite : 🛡️ Le code source et les logs sont bloqués de l'accès navigateur en mode PWA ; les entrées sensibles sont masquées en mode CLI pour l'analyse d'entropie.
  • Exportations expurgées : Export d'historique prioritaire à la sécurité avec expurgation automatique des mots de passe par défaut
  • Interface sans retrait : Sortie professionnelle alignée à gauche pour tous les modes
  • Leetspeak intelligent : Substitution probabiliste pour des mots de passe plus naturels et lisibles
  • Validation robuste : Invites interactives avec valeurs par défaut et gestion récursive des erreurs
  • Frontend PWA défensif : 🛡️ Contrôles de sécurité intégrés pour les actifs CDN afin d'éviter les plantages lors de l'initialisation.
  • Modificateurs globaux : Modes --easy-read et --easy-say
  • Mode paranoïaque : Collecte manuelle d'entropie optionnelle via la gigue de synchronisation du clavier pour une sécurité maximale.
  • OptionDescription
    --presetUtiliser un profil de sécurité prédéfini (strong, memorable, dev, pin, web, wifi, key)
    -i, --interactiveLancer le mode menu interactif
    --paranoidActiver le mode paranoïaque (collecte manuelle d'entropie)
    --jsonSortie au format JSON
    --show-entropyAfficher l'analyse d'entropie (activée par défaut dans les lanceurs)
    --check-strengthExécuter l'analyse de motifs zxcvbn
    -c, --clipboardCopier le résultat dans le presse-papiers
    --confirm-copyDemander confirmation avant de copier dans le presse-papiers
    --clipboard-timeoutEffacement automatique du presse-papiers après N secondes (défaut : 30)
    --logEnregistrer le mot de passe dans l'historique (chiffré AES-128)
    --no-colorDésactiver la sortie colorée
    --easy-readExclure les caractères ambigus (0/O, 1/l/I)
    --easy-sayUniquement des caractères prononçables (pas de symboles)
    OptionDéfautDescription
    -l, --length16Longueur du mot de passe (4-1024)
    --no-uppercase-Exclure les lettres majuscules
    --no-lowercase-Exclure les lettres minuscules
    --no-digits-Exclure les chiffres
    --no-symbols-Exclure les symboles
    --include-Caractères supplémentaires à inclure
    --exclude-Caractères à exclure
    --no-repeats-Aucun caractère répété
    --min-upper0Minimum de caractères majuscules
    --min-lower0Minimum de caractères minuscules
    --min-digits0Minimum de chiffres
    --min-symbols0Minimum de symboles
    --balanced-Ratio équilibré (60/20/20)
    -n, --count1Nombre à générer
    OptionDéfautDescription
    -w, --words4Nombre de mots (2-64)
    -s, --separator-Séparateur de mots
    --capitalize-Mettre chaque mot en majuscule initiale
    --uppercase-Tous les mots en majuscules
    --alternate-Casse alternée (aLtErNaTe)
    --wordlist-Chemin vers une liste de mots personnalisée
    -n, --count1Nombre à générer
    OptionDéfautDescription
    -w, --words3Nombre de mots (2-64)
    -s, --separator-Séparateur de mots ( - _ . , )
    -n, --count1Nombre à générer
    OptionDéfautDescription
    --ver4Version UUID (1, 4, 7)
    --short-Format court (Base58)
    --upper-Sortie en majuscules (hex uniquement)
    -n, --count1Nombre à générer
    OptionDéfautDescription
    -n, --count10Nombre de codes (5-20, défaut : 10)
    -l, --length10Longueur du code (chiffres ou mots, défaut : 10/3)
    --words-Utiliser des codes basés sur des mots
    --period
    30
    Période de temps en secondes
    --qr-Afficher le code QR dans le terminal
    OptionDéfautDescription
    --last10Afficher les N dernières entrées (1-100, défaut : 10)
    --all, -a-Afficher toutes les entrées de l'historique (remplace --last)
    --search-Filtrer l'historique par mot-clé
    --redact-Expurger les mots de passe dans la sortie du terminal
    --export-Exporter l'historique vers un fichier (JSON/CSV)
    --no-redact-Ne pas expurger les mots de passe dans l'export (Attention !)
    --clear-Effacer toutes les entrées de l'historique
    Entropie (bits)RobustesseCas d'utilisation
    < 28Très faibleNe jamais utiliser
    28-36FaibleSécurité faible uniquement
    36-60RaisonnableComptes standards
    60-80ForteDonnées sensibles
    80-128Très forteSystèmes haute sécurité
    > 128ExcellenteInfrastructure critique