cerrado @ 5fb240326bba79f6963f5d042dea824cdb9e8e45

feat: Add command to generate hash and aes key

This makes easier for an user to setup those value later.
diff --git a/main.go b/main.go
index b891c8820f0c8bfd61b4d58dbaa6460d2531796e..8bf5141a4094b15d635a968f715a10123e618bc6 100644
--- a/main.go
+++ b/main.go
@@ -2,6 +2,8 @@ package main
 
 import (
 	"context"
+	"crypto/rand"
+	"encoding/base64"
 	"flag"
 	"fmt"
 	"log/slog"
@@ -24,14 +26,23 @@
 	if len(os.Args) == 4 && os.Args[1] == "hash" {
 		err := hash(os.Args[2], os.Args[3])
 		if err != nil {
-			slog.Error("Error", "error", err)
+			slog.Error("Hash", "error", err)
+			os.Exit(1)
+		}
+		return
+	}
+
+	if len(os.Args) == 2 && os.Args[1] == "key" {
+		err := key()
+		if err != nil {
+			slog.Error("Key", "error", err)
 			os.Exit(1)
 		}
 		return
 	}
 
 	if err := run(ctx); err != nil {
-		slog.Error("Error", "error", err)
+		slog.Error("Server", "error", err)
 		os.Exit(1)
 	}
 }
@@ -43,6 +54,19 @@ 	if err != nil {
 		return err
 	}
 	fmt.Println(string(bytes))
+	return nil
+}
+
+func key() error {
+	key := make([]byte, 64)
+
+	_, err := rand.Read(key)
+	if err != nil {
+		return err
+	}
+
+	en := base64.StdEncoding.EncodeToString(key)
+	fmt.Println(en)
 	return nil
 }