50 lines
769 B
Go
50 lines
769 B
Go
// Copyright (C) 2019 Marius Schellenberger
|
|
|
|
package db
|
|
|
|
import (
|
|
"crypto/sha256"
|
|
"time"
|
|
)
|
|
|
|
var reservedNames = []string{
|
|
"blacklist",
|
|
"login",
|
|
"logout",
|
|
"new",
|
|
"search",
|
|
"section",
|
|
"sections",
|
|
"user",
|
|
"users",
|
|
"view",
|
|
}
|
|
|
|
// Parts taken from strings.TrimPrefix
|
|
func hasTrimPrefix(s, prefix string) (string, bool) {
|
|
if len(s) >= len(prefix) && s[0:len(prefix)] == prefix {
|
|
return s[len(prefix):], true
|
|
}
|
|
return s, false
|
|
}
|
|
|
|
func validatePassword(pw string) (b []byte) {
|
|
b = []byte(pw)
|
|
if len(pw) <= 56 {
|
|
return
|
|
}
|
|
hash := sha256.New()
|
|
hash.Write(b)
|
|
b = hash.Sum(nil)
|
|
return
|
|
}
|
|
|
|
const timeFmt = "2006-01-02 15:04:05"
|
|
|
|
func now() string {
|
|
return time.Now().Format(timeFmt)
|
|
}
|
|
|
|
func created(username string) string {
|
|
return username + " " + now()
|
|
}
|