Résolu le 10-02-19 passwordGenerator

Installation, configuration et utilisation des logiciels que vous souhaitez installer.
Répondre
Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

passwordGenerator

Message par tioker »

Bonjour,
But: générer des mots de passe individualisés par site pour lesquels on a un compte; mot de passe qu'on peut reconstituer à la main si nécessaire. Utile quand on a pas accès à ses mots de passe enregistrés dans le navigateur :oops: ou quand le gestionnaire de mot de passe (Lastpass, Keepass...) n'est pas accessible.
Méthode: mot de passe racine + nom du site + table de traduction = nouveau mot de passe. On lit caractère par caractère le mot de passe racine et le site. Si le caractère du site est dans la table de traduction, on met le caractère traduit, sinon on met le caractère du mot de passe racine.
Important: se rappeler du mot de passe racine et de la méthode de transcription
Plus qu'un long discours, un bel exemple (j'ai utilisé un table de traduction basique (12 lettres de l'alphabet les + utilisées converties de minuscule en majuscule) mais les esprits inventifs feront sûrement bien mieux). Attention, table de traduction limitée à 12 caractères maximum; au dessus on ne traduit pas.
Formulaire de saisie
Image
Résultat
Image

Je suis intéressé par vos commentaires:
- est-ce que ça marche
- est-ce que c'est utile
- peut-il y avoir des améliorations
- ...
Cordialement

Code : Tout sélectionner

#!/bin/bash
#
FORM=$(zenity --forms \
    --title="Password Generator" \
    --text="Generator Parameters" \
    --add-entry="Original Password" \
    --add-entry="Website to Securize" \
    --add-entry="Original   Table" \
    --add-entry="Translated Table" \
    --separator="^")
if [ "$?" != 0 ] ; then exit ; fi
OIFS=$IFS; IFS="^"; TAB=( $FORM ); IFS=$OIFS
PRD=${TAB[0]} ; LPRD=${#PRD}
WWW=${TAB[1]} ; LWWW=${#WWW}
TOR=${TAB[2]} ; LTOR=${#TOR}
TED=${TAB[3]} ; LTED=${#TED}
if  [[ $LPRD -eq 0 || $LWWW -eq 0 || $LTOR -eq 0 || $LTED -eq 0 ]] ; then zenity --info --text="Parameter[s] empty" ; exit ; fi
if [[ $LTOR -ne $LTED ]] ; then zenity --info --text="Length difference in translated tables" ; exit ; fi
I=0 ; GPRD=""
while [[ $I -ne $LPRD ]]
do
	if [[ ${WWW:$I:1} -eq "" ]] ; then WWW=$WWW" " ; fi	# padding with space
	case ${WWW:$I:1} in
		${TOR:0:1}) GPRD=$GPRD${TED:0:1} ;;
		${TOR:1:1}) GPRD=$GPRD${TED:1:1} ;;
		${TOR:2:1}) GPRD=$GPRD${TED:2:1} ;;
		${TOR:3:1}) GPRD=$GPRD${TED:3:1} ;;
		${TOR:4:1}) GPRD=$GPRD${TED:4:1} ;;
		${TOR:5:1}) GPRD=$GPRD${TED:5:1} ;;
		${TOR:6:1}) GPRD=$GPRD${TED:6:1} ;;
		${TOR:7:1}) GPRD=$GPRD${TED:7:1} ;;
		${TOR:8:1}) GPRD=$GPRD${TED:8:1} ;;
		${TOR:9:1}) GPRD=$GPRD${TED:9:1} ;;
		${TOR:10:1}) GPRD=$GPRD${TED:10:1} ;;
		${TOR:11:1}) GPRD=$GPRD${TED:11:1} ;;
		*)			GPRD=$GPRD${PRD:$I:1} ;;
	esac
	I=$(( $I + 1 ))
done
zenity --info --text="Generated password $GPRD"
exit
Modifié en dernier par tioker le mar. 8 mai 2018 16:52, modifié 1 fois.
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: passwordGenerator

Message par tioker »

Tiens, le site Numerama en parle aujourd'hui.
Je trouve que leurs idées sont bonnes, la mienne allant encore un peu plus loin, je pense.

Ah oui; on sera toujours confrontés aux sites qui forcent votre mot de passe, à ceux qui refusent certains caractères ou limitent la longueur minimum ou maximum...

A+
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
JeffP
Messages : 7
Enregistré le : mar. 24 avr. 2018 09:48

Re: passwordGenerator

Message par JeffP »

Bonjour,
Pas mal du tout, mais où peut-on le trouver ?
Ou faut-il le compiler soi-même et comment ?
Je suis novice dans ce domaine...
Merci :D
PC Bureau : Linux Mint Mate 18.3 X64amd (Sylvia)
CM HP 110-306nf | CPU AMD A6-5200 | CG Radeon HD 8400 | RAM 6GiB | Linux Ver. Linux 4.13.0-39-generic xhci-hcd.
------------------------------------------------
Première règle élémentaire de sécurité :
On réfléchit puis on clique et pas l'inverse, les fichiers/programmes, c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas.

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: passwordGenerator

Message par arghlub »

Salut Jeff,

C'est un script Bash (pas besoin de compil', c'est un langage interprété), donc il suffit que tu copies/colles le code dans un fichier que tu enregistres (par exemple sous ce nom «passwordgen.sh», mais tu lui donnes le nom que tu veux).

Puis tu lui donnes les droits d'exécution (dans un terminal, en étant placé dans le répertoire du script et en remplaçant le nom du script par celui que tu lui as donné) :

Code : Tout sélectionner

chmod u+x passwordgen.sh
Et enfin, pour le lancer (toujours dans un terminal) :

Code : Tout sélectionner

./passwordgen.sh
Tu peux aussi te faire un lanceur(raccourci) dans le menu, sur ton tableau de bord ou le bureau, pour pouvoir lancer facilement le script sans passer par le terminal.
;)

─── EDIT (hors-sujet) ────────────
Par rapport à ta signature : «On réfléchit puis on clique et pas l'inverse, les fichiers/programmes, c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas.»...
Sous Linux, les logiciels sont vérifiés par des devs avant d'intégrer ton gestionnaire de paquets.
De plus, là le p'tit code de tioker (merci à lui ;) ) est “ouvert” donc pas d'inquiétude. Quand un logiciel ou un code est open-source, on peut en vérifier le code... on est pas sous W$ où beaucoup de choses sont fermées et où l'on doit installer des .exe obscurs trouvés sur le net.
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Répondre