[PYTHON] Je vais créer un mot de passe!

gen-pass.py


# Python3 fileencoding: utf-8

from argparse import ArgumentParser
from os import urandom
from string import printable, ascii_letters, digits


def option_parse():
    parser = ArgumentParser()
    parser.add_argument("length", type=int, nargs="?", default=12)
    parser.add_argument(
        "-c", "--charset", choices="na",
        help="a = alphabets, n = a + nums, default is printables."
    )
    return parser.parse_args()


def generate(charset, passlen):
    chars = printable[:-5]
    if charset == "a":
        chars = ascii_letters
    elif charset == "n":
        chars = digits + ascii_letters
    password = ""
    while len(password) < passlen:
        s = urandom(1)[0]
        # if Python2.x
        # s = ord(urandom(1)[0])
        if s < len(chars):
            password += chars[s]
    return password


if __name__ == "__main__":
    options = option_parse()
    charset = options.charset
    length = options.length
    print(generate(charset, length))

Vous pouvez obtenir de l'aide avec -h. Spécifiez la longueur avec -l et spécifiez le jeu de caractères à utiliser avec -c.

$ python3 gen-pass.py -h
usage: gen-pass.py [-h] [-c {n,a}] [length]

positional arguments:
  length

optional arguments:
  -h, --help            show this help message and exit
  -c {n,a}, --charset {n,a}
                        a = alphabets, n = a + nums, default is printables.
$ python3 gen-pass.py
B1h(=,qW;ClW
$ python3 gen-pass.py 24 -c n
wup4sGyAb1GHp7ajE9PL5Vk0
$

Recommended Posts

Je vais créer un mot de passe!
Faisons un jeu de squash
Faire un décorateur de fonction
Faire une matrice de distance
Créer un bouton Nyan
Créez un jeu à la Tetris!
Créer un décodeur Base64
Faisons un robot Discord.
Créer un backend Blueqat ~ Partie 2
[Django] Créer un menu déroulant
Créer un LINE BOT (chat)
Créer un bookmarklet en Python
Faites une loterie avec Python
Faire de Responder un démon (service)
Faire un feu avec kdeplot
Faire une impression de forage de calcul
Faisons une rumba distante [Matériel]
Comment faire une traduction japonais-anglais
Créer un identifiant Santa à partir d'une image du Père Noël
Faisons une rumba distante [Logiciel]
Créer une boîte à Tweet pour Pepper
Faisons une interface graphique avec python.
Faites un son avec le notebook Jupyter
Faisons un service de vente au comptant 2
Créer un outil de reconnaissance de visage à l'aide de TensorFlow
Comment créer un bot slack
Faisons une rupture de bloc avec wxPython
Comment créer une fonction récursive
python / Créer un dict à partir d'une liste.
Créer un système de recommandation avec python
[Blender] Comment créer un plug-in Blender
[Python] Générer un mot de passe avec Slackbot
Créer un filtre avec un modèle django
Faisons un graphe avec python! !!
Faisons un spacon avec xCAT
Comment créer un robot - Basic
Créer un itérateur de modèle avec PySide
Faire un joli graphique avec plotly
Créez un générateur de rideaux avec Blender
Faisons un service de vente au comptant 3
Faisons un jeu de shiritori avec Python
Créer un lecteur vidéo avec PySimpleGUI + OpenCV
[Python] Comment rendre une classe itérable
Faisons un noyau jupyter
Créer un diagramme de relations des modules Python
Créez un simulateur de gacha rare avec Flask
Faire de Jupyter Notebook un service sur CentOS
Faire de Unity Accelerator un service sous Linux
Faire une figure partiellement zoomée avec matplotlib
Créez un quiz de dessin avec kivy + PyTorch
Faisons la voix lentement avec Python
Créez un classificateur en cascade avec Google Colaboratory
Faisons un langage simple avec PLY 1
Qt pour l'application de bureau de l'application Python
Fabriquez-vous quelque chose comme une fusée?
Faire un circuit logique avec Perceptron (Perceptron multicouche)
Faire Oui Non Popup avec Kivy
Faisons un site multilingue en utilisant flask-babel
Faire une minuterie de lavage-séchage avec Raspberry Pi