X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/0ed5132769e88cb385b5240986b706430f0ccd72..4d7abe62a6dd692b71090819de0d57a40486bdb2:/hotline/account.go diff --git a/hotline/account.go b/hotline/account.go index 18965ed..7b2aafe 100644 --- a/hotline/account.go +++ b/hotline/account.go @@ -5,7 +5,6 @@ import ( "fmt" "golang.org/x/crypto/bcrypt" "io" - "log" "slices" ) @@ -20,6 +19,15 @@ type Account struct { readOffset int // Internal offset to track read progress } +func NewAccount(login, name, password string, access accessBitmap) *Account { + return &Account{ + Login: login, + Name: name, + Password: hashAndSalt([]byte(password)), + Access: access, + } +} + // Read implements io.Reader interface for Account func (a *Account) Read(p []byte) (int, error) { fields := []Field{ @@ -57,10 +65,7 @@ func (a *Account) Read(p []byte) (int, error) { // hashAndSalt generates a password hash from a users obfuscated plaintext password func hashAndSalt(pwd []byte) string { - hash, err := bcrypt.GenerateFromPassword(pwd, bcrypt.MinCost) - if err != nil { - log.Println(err) - } + hash, _ := bcrypt.GenerateFromPassword(pwd, bcrypt.MinCost) return string(hash) }