浏览代码

hasher: Check number of arguments

This makes for a better user experience than a go segfault.
Jonathon Reinhart 4 年之前
父节点
当前提交
009ae8f73a
共有 1 个文件被更改,包括 5 次插入1 次删除
  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))
 }