52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
|
#!/usr/bin/env python3
|
||
|
#-*- coding: utf-8 -*-
|
||
|
################################################################################
|
||
|
# 'xkcd_936.py', created by motius, on 2017-10-24
|
||
|
################################################################################
|
||
|
|
||
|
"""
|
||
|
Sans compte root :
|
||
|
apt-get download wfrench
|
||
|
ar x wfrench
|
||
|
tar xvfJ data.tar.xz
|
||
|
ln -rs usr/share/dict/french .
|
||
|
Changer LISTE_DE_MOTS en "french"
|
||
|
"""
|
||
|
|
||
|
################################################################################
|
||
|
|
||
|
import random
|
||
|
|
||
|
################################################################################
|
||
|
# paramètres de génération de mots de passe
|
||
|
|
||
|
LISTE_DE_MOTS = "/usr/share/dict/french"
|
||
|
NB_MOTS = 5 # > 3
|
||
|
NB_PASSPHRASE = 10 # > 0
|
||
|
|
||
|
################################################################################
|
||
|
# fonction de génération de mots de passe
|
||
|
|
||
|
def phrases_de_passe():
|
||
|
""" https://www.xkcd.com/936/
|
||
|
"""
|
||
|
values = []
|
||
|
with open(LISTE_DE_MOTS, 'r') as fr:
|
||
|
l = fr.readlines()
|
||
|
for i in range(NB_MOTS):
|
||
|
r = random.randint(1,len(l))
|
||
|
values.append(l[r].strip())
|
||
|
return values
|
||
|
|
||
|
################################################################################
|
||
|
# appelle fonction de génération
|
||
|
|
||
|
for i in range(NB_PASSPHRASE):
|
||
|
print(" ".join(phrases_de_passe()))
|
||
|
|
||
|
|
||
|
################################################################################
|
||
|
# EOF 'xkcd_936.py'
|
||
|
################################################################################
|
||
|
|