#!/bin/bash
# rand-string.sh
# Générer de manière pseudo-aléatoire 
# une chaîne de 8 caractères.

if [ -n "$1" ]  #  S'il y a bien un argument sur la ligne de commande,
then            #+ l'utiliser comme chaîne initiale.
  ch0="$1"
else            #  Sinon, utiliser le PID du script.
  ch0="$$"
fi

POS=2  # À partir de la position 2 du script.
LEN=8  # Extraire huit caractères.

ch1=$( echo "$ch0" | md5sum | md5sum )
# Brouiller 2 fois:  ^^^^^^   ^^^^^^

chainealeatoire="${ch1:$POS:$LEN}"
# On peut paramétriser ^^^^ ^^^^ 

echo "$chainealeatoire"

exit $?

# bozo$ ./rand-string.sh mon-mot-de-passe
# 1bdd88c4

#  Mais ce n'est pas une méthode recommandée
#+ pour fabriquer des mots de passe solides.
