#!/bin/bash

tutki()
{
found=false
while read -r salasana &&  ! $found 
do
	generoitu=$(echo -n $salasana | md5sum | cut -c1-32)
	if [ "$testattava" = "$generoitu" ]; then
		echo "Salasana on: $salasana"
		found=true	
	fi 
done <<< "$lista"
! $found && echo
}

echo
echo "md5 tiivisteen avaus kokeilemalla vaihtoehdot peräkkäin."
echo "Tämä esimerkki etsii vain pieniä kirjaimia a...z."
echo "Salasanan pituus voi olla yhdestä neljään merkkiä."
echo
read -p "Anna md5: " testattava
echo
echo "Kokeillaan yksimerkkiset salasanat"
lista=$(echo {a..z} | tr ' ' '\n')
tutki
if ! $found; then
echo "Kokeillaan kaksimerkkiset salasanat"
lista=$(echo {a..z}{a..z} | tr ' ' '\n')
tutki
fi
if ! $found; then
echo "Kokeillaan kolmemerkkiset salasanat"
lista=$(echo {a..z}{a..z}{a..z} | tr ' ' '\n')
tutki
fi
if ! $found; then
echo "Kokeillaan nelimerkkiset salasanat"
lista=$(echo {a..z}{a..z}{a..z}{a..z} | tr ' ' '\n')
tutki
fi

