2020-05-01 15:19:51 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
MOTS=$(echo "$1" | grep -E "^\-?[0-9]+$")
|
|
|
|
# Default to 6 words passphrase
|
|
|
|
if [[ "$MOTS" == "" ]]; then MOTS=6; fi
|
|
|
|
WORDCOUNT=${1-$MOTS}
|
|
|
|
# Download the wordlist
|
|
|
|
# wget -nc -O ~/.diceware-wordlist http://world.std.com/%7Ereinhold/diceware.wordlist.asc 2> /dev/null
|
|
|
|
# print a list of the diceware words
|
2020-05-09 19:24:31 +02:00
|
|
|
cat ./diceware-wordlist.txt | \
|
|
|
|
awk '/[1-6][1-6][1-6][1-6][1-6]/{ print $2 }' | \
|
2020-05-01 15:19:51 +02:00
|
|
|
# randomize the list order
|
2020-05-09 19:24:31 +02:00
|
|
|
shuf --random-source=/dev/urandom | \
|
2020-05-01 15:19:51 +02:00
|
|
|
# pick the first n words
|
2020-05-09 19:24:31 +02:00
|
|
|
head -n ${WORDCOUNT} | \
|
2020-05-01 15:19:51 +02:00
|
|
|
# pretty print
|
|
|
|
tr '\n' ' '
|
|
|
|
echo
|