• # Taille parfaite

    Posté par . En réponse au message Générateur de mots de passe. Évalué à 2.

    Je crois que j'ai le bon code:
    TAILLE=25; for c in $(echo "obase=94; ibase=10; $(head -c $TAILLE /dev/urandom 2> /dev/null | xxd -p -u -c $TAILLE)" | env BC_LINE_LENGTH=999 bc); do printf "%b" $(printf '\\x%x ' $(expr $c + 33));done | cut --bytes=-$TAILLE

    Ca donne des mots de passe de longueur $TAILLE dans tous les cas.
    note: en une seule ligne.

    C'est un peu long. Quelqu'un a une meilleure idée ?
    J'aurais surtout voulu éviter la boucle mais je n'ai pas trouvé comment.