,supergenpass
1 #!/bin/bash 2 3 read -srp 'Password: ' master 4 domain=$(echo $1 | tr A-Z a-z) 5 length=${2:-10} 6 7 hash=$master:$domain 8 9 i=0 10 while true 11 do 12 hash=$(echo -n "$hash" | openssl md5 -binary | base64 | tr +/= 98A) 13 i=$(($i + 1)) 14 if [ $i -lt 10 ] 15 then 16 continue 17 fi 18 valid=$(echo "${hash:0:$length}" | egrep '^[a-z]' | egrep '.[A-Z]' | egrep '.[0-9]' ) 19 if [ "$valid" != "" ] 20 then 21 break 22 fi 23 done 24 echo ${hash:0:$length}