diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2025-11-09 07:29:05 -0800 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2025-11-09 07:29:05 -0800 |
| commit | a821591cb8aadf57015a530383f16e32aa014980 (patch) | |
| tree | 877e13dd3ab9214f5f8f3643b5fa4d5856d2a78b | |
| parent | 18175866466e4788d172baa68805977f34b9df37 (diff) | |
| download | diceware-main.tar.zst | |
| -rw-r--r-- | diceware.go | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/diceware.go b/diceware.go index 3716171..78fbbc4 100644 --- a/diceware.go +++ b/diceware.go @@ -3,16 +3,25 @@ package main import ( "crypto/rand" "encoding/binary" + "flag" "fmt" + "os" "strings" "roseh.moe/pkg/wordlist" ) +var n = flag.Int("n", 10, "number of words to generate") + func main() { - buf := make([]byte, 20) + flag.Parse() + if *n < 0 { + fmt.Fprintln(os.Stderr, "What are you doing...") + os.Exit(2) + } + buf := make([]byte, 2**n) rand.Read(buf) - words := make([]string, 10) + words := make([]string, *n) for i := range words { words[i] = wordlist.Words[binary.NativeEndian.Uint16(buf[2*i:])&0x1fff] } |
