aboutsummaryrefslogtreecommitdiff
path: root/cmd/server/genhash.go
diff options
context:
space:
mode:
authorMitchell Riedstra <mitch@riedstra.dev>2023-01-06 00:04:28 -0500
committerMitchell Riedstra <mitch@riedstra.dev>2023-01-06 00:04:28 -0500
commit1d01acca36b78eeba99da1adb10e72d186433b39 (patch)
treed44fd6268ee26af16acfe720abbd2b3a2e6e5574 /cmd/server/genhash.go
parentad769c34b2f03bffe2c84a8872331838a80c2870 (diff)
downloadgo-website-1d01acca36b78eeba99da1adb10e72d186433b39.tar.gz
go-website-1d01acca36b78eeba99da1adb10e72d186433b39.tar.xz
Update site to server configuration via environment variables. Add a genhash command. Update docs.
Diffstat (limited to 'cmd/server/genhash.go')
-rw-r--r--cmd/server/genhash.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/cmd/server/genhash.go b/cmd/server/genhash.go
new file mode 100644
index 0000000..47f7bd4
--- /dev/null
+++ b/cmd/server/genhash.go
@@ -0,0 +1,38 @@
+package main
+
+import (
+ "bytes"
+ "fmt"
+
+ "golang.org/x/crypto/bcrypt"
+ "golang.org/x/term"
+)
+
+func interactiveHashGen() {
+ fmt.Print("Enter password: ")
+
+ passwd, err := term.ReadPassword(0)
+ if err != nil {
+ logger.Fatal("\nFailed: ", err)
+ }
+
+ fmt.Printf("\nAgain: ")
+
+ passwd2, err := term.ReadPassword(0)
+ if err != nil {
+ logger.Fatal("\nFailed: ", err)
+ }
+
+ fmt.Println("")
+
+ if !bytes.Equal(passwd, passwd2) {
+ logger.Fatal("Passwords do not match")
+ }
+
+ passwd, err = bcrypt.GenerateFromPassword(passwd, bcrypt.DefaultCost)
+ if err != nil {
+ logger.Fatal("Failed: ", err)
+ }
+
+ fmt.Printf("hash: %s\n", string(passwd))
+}