Skip to main content

Password-Generator-Advanced

🇫🇷 Version française | 🇺🇸 English version

CI PyPI version License: MIT Python 3.12+ Security: secrets

Générateur de mots de passe sécurisés en ligne de commande avec des contraintes cryptographiques strictes. Chaque mot de passe généré contient obligatoirement des lettres minuscules, majuscules, chiffres et caractères spéciaux, avec des minimums configurables.


Installation Rapide

Password-Generator-Advanced est disponible sur PyPI ! N'importe qui peut l'installer directement avec pip :

pip install Password-Generator-Advanced

Une fois installé, lancez simplement :

password-generator-advanced

Le package est compatible avec Python 3.12+ et fonctionne sur Linux, macOS et Windows.

Que fait cette commande ?

  • Télécharge automatiquement la dernière version stable depuis PyPI
  • Installe le package dans votre environnement Python
  • Rend la commande password-generator-advanced disponible globalement

Mise à jour vers la dernière version :

pip install --upgrade Password-Generator-Advanced

Installation dans un environnement virtuel (recommandé) :

# Créer un environnement virtuel
python -m venv venv

# Activer l'environnement
# Sur Linux/macOS :
source venv/bin/activate
# Sur Windows :
venv\Scripts\activate

# Installer le package
pip install Password-Generator-Advanced

Alternative : Installation depuis les sources

Si vous souhaitez contribuer au projet ou utiliser la version de développement :

git clone https://github.com/valorisa/Password-Generator-Advanced.git
cd Password-Generator-Advanced
poetry install

Prérequis pour l'installation depuis les sources :

  • Python 3.12 ou supérieur
  • Poetry (gestionnaire de dépendances)

Fonctionnalités

  • Génération de mots de passe avec contraintes strictes (configurable)
  • Génération de passphrases (style Diceware, 2048 mots, 11 bits d'entropie par mot)
  • Évaluation de la force d'un mot de passe ou passphrase existant
  • Copie dans le presse-papier (Windows, macOS, Linux)
  • Mode interactif (menu) et mode CLI (arguments en ligne de commande)

Contraintes par défaut

Contrainte Minimum garanti
Chiffres (0-9) 9
Caractères spéciaux (!@#$%^&*...) 9
Lettres minuscules (a-z) 1
Lettres majuscules (A-Z) 1
Longueur minimale totale 20 caractères

Les contraintes de chiffres et caractères spéciaux sont paramétrables via --min-digits et --min-special.

Le module Python secrets est utilisé pour la génération (CSPRNG — Cryptographically Secure Pseudo-Random Number Generator).


Utilisation

Mode interactif

Si vous avez installé via pip depuis PyPI :

password-generator-advanced

Si vous utilisez l'installation depuis les sources (avec Poetry) :

python -m password_generator_advanced

Note : Les deux commandes sont équivalentes et lancent le même programme.

Le menu interactif s'affiche :

==================================================
   GÉNÉRATEUR DE MOTS DE PASSE SÉCURISÉS
==================================================

Contraintes appliquées :
  - Minimum 9 chiffres
  - Minimum 9 caractères spéciaux
  - Au moins 1 lettre minuscule
  - Au moins 1 lettre majuscule
  - Longueur minimale : 20 caractères

--------------------------------------------------
  1 - Générer un mot de passe
  2 - Générer plusieurs mots de passe
  3 - Générer une passphrase
  4 - Évaluer un mot de passe / passphrase
  5 - Quitter
--------------------------------------------------

Mode CLI

# Générer un mot de passe (longueur 30)
python -m password_generator_advanced --length 30

# Générer 5 mots de passe
python -m password_generator_advanced --length 25 --count 5

# Contraintes personnalisées
python -m password_generator_advanced --length 20 --min-digits 3 --min-special 5

# Générer une passphrase (6 mots par défaut)
python -m password_generator_advanced --passphrase

# Passphrase avec options
python -m password_generator_advanced --passphrase --words 8 --separator "."

# Évaluer un mot de passe existant
python -m password_generator_advanced --evaluate "mon-super-mot-de-passe!"

# Copier le résultat dans le presse-papier
python -m password_generator_advanced --length 25 --copy

Options CLI complètes

Option Court Description
--length -l Longueur du mot de passe
--min-digits Nombre minimum de chiffres (défaut: 9)
--min-special Nombre minimum de caractères spéciaux (défaut: 9)
--count -n Nombre de mots de passe à générer
--passphrase -p Générer une passphrase
--words -w Nombre de mots pour la passphrase (défaut: 6)
--separator Séparateur pour la passphrase (défaut: -)
--evaluate -e Évaluer l'entropie théorique d'un mot de passe
--copy -c Copier dans le presse-papier

Évaluation de mot de passe

L'outil peut évaluer l'entropie théorique maximale d'un mot de passe ou passphrase existant :

  Entropie théorique maximale :
    Longueur         : 28 caractères
    Entropie max.    : 164.0 bits
    Niveau           : Très fort
    Jeu de caractères: 58 symboles possibles

  Catégories détectées :
    Minuscules       : ✓
    Majuscules       : ✗
    Chiffres         : ✗
    Spéciaux         : ✓

  ⚠ Ce calcul suppose un choix aléatoire par caractère.
    Un mot de passe basé sur des mots du dictionnaire ou des
    patterns prévisibles aura une entropie réelle inférieure.

Seuils (alignés sur les recommandations ANSSI) :

Entropie Niveau
< 48 bits Très faible
48-63 bits Faible
64-79 bits Moyen
80-127 bits Fort
≥ 128 bits Très fort

Architecture du projet

Password-Generator-Advanced/
├── src/
│   └── password_generator_advanced/
│       ├── __init__.py          # Version du package
│       ├── __main__.py          # Point d'entrée python -m
│       ├── main.py              # Menu interactif + CLI argparse
│       ├── generator.py         # Algorithme de génération + évaluation
│       ├── wordlist.py          # Liste de 2048 mots pour passphrases
│       └── clipboard.py         # Copie presse-papier cross-platform
├── tests/
│   └── test_generator.py       # 18 tests
├── pyproject.toml               # Configuration Poetry
├── LICENSE                      # MIT
├── SECURITY.md
├── CONTRIBUTING.md
└── CODE_OF_CONDUCT.md

Algorithme de génération (generator.py)

  1. Placement garanti : N chiffres + N caractères spéciaux + 1 minuscule + 1 majuscule sont placés en premier
  2. Remplissage : Les positions restantes sont remplies avec un mélange aléatoire de toutes les catégories
  3. Mélange final : L'ensemble est mélangé via secrets.SystemRandom().shuffle() pour éliminer tout pattern positionnel prévisible

Génération de passphrases

Sélection aléatoire de mots depuis une liste de 2048 mots (11 bits d'entropie par mot). Une passphrase de 6 mots offre ~66 bits d'entropie.


Sécurité

  • Module secrets : Utilise le générateur aléatoire cryptographiquement sécurisé du système d'exploitation (/dev/urandom sur Linux/macOS, CryptGenRandom sur Windows)
  • Aucune dépendance externe : Uniquement la bibliothèque standard Python — pas de surface d'attaque tierce
  • Pas de stockage : Les mots de passe générés ne sont jamais écrits sur disque ni envoyés sur le réseau

Pour signaler une vulnérabilité, consultez SECURITY.md.


Développement

# Lancer les tests
poetry run pytest tests/ -v

# Vérifier le style
poetry run ruff check .

# Corriger automatiquement
poetry run ruff check . --fix

Contribution

Les contributions sont bienvenues. Consultez CONTRIBUTING.md pour le processus détaillé.

Ce projet respecte le Contributor Covenant 2.1.


Licence

MIT - Utilisation libre, commerciale et modification autorisées.


Auteur : valorisa

Metadata

Release files for Password-Generator-Advanced 1.0.4

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

Source distribution (sdist)

Source distribution for Password-Generator-Advanced 1.0.4
File Size Uploaded Provenance Actions
password_generator_advanced-1.0.4.tar.gz 18.5 kB With provenance Details for password_generator_advanced-1.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for Password-Generator-Advanced 1.0.4
File Interpreter ABI Platform Actions
password_generator_advanced-1.0.4-py3-none-any.whl Python 3 none any Details for password_generator_advanced-1.0.4-py3-none-any.whl

Total release size: 36.0 kB

Release files / password_generator_advanced-1.0.4.tar.gz

Download URL password_generator_advanced-1.0.4.tar.gz
Size 18.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8e6007ec2d3333d2799ca57599ed23560166aafd7a0ac0a7da277d5f3b85a223
BLAKE2b-256 checksum
How to use checksums
b5d2d2675ecc471b6135c2bd8d99c14ebbc62311808c51534cee06156f624705
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

Release files / password_generator_advanced-1.0.4-py3-none-any.whl

Download URL password_generator_advanced-1.0.4-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd96b09049cb0029563ca461115dfe7d6c96ccd524a06d786a02f189cc4c6dad
BLAKE2b-256 checksum
How to use checksums
3fb135e9ae694c979e90f8b2e88a79826a5bf3a4bbf024aa0adefcca22adbdfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

Security for Password-Generator-Advanced 1.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for password_generator_advanced-1.0.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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