Browse Source

hasher: Check number of arguments

This makes for a better user experience than a go segfault.
Jonathon Reinhart 4 years ago
parent
commit
009ae8f73a
1 changed files with 5 additions and 1 deletions
  1. 5 1
      cmd/hasher.go

+ 5 - 1
cmd/hasher.go

@@ -8,11 +8,15 @@ import (
 )
 
 func main() {
+	if len(os.Args) != 2 {
+		fmt.Fprintln(os.Stderr, "Usage: hasher PASSWORD")
+		os.Exit(1)
+	}
 	password := os.Args[1]
 
 	hash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
 	if err != nil {
-		fmt.Println("Error generating hash: %s", err)
+		fmt.Fprintln(os.Stderr, "Error generating hash: %s", err)
 	}
 	fmt.Println(string(hash))
 }