func NewLoginCred(secret string) LoginCred {
	slt := make([]byte, 64)
	io.ReadFull(rand.Reader, slt)
	h := credHash([]byte(secret), slt)
	hs := string(base91.Encode(h))
	ss := string(base91.Encode(slt))
	return LoginCred(hs + login_cred_delim + ss)
}
generate a new login cred, generates random salt and stores as hashed
package model
import (
	"github.com/majestrate/bdsmail/lib/base91"
	"bytes"
	"crypto/rand"
	"crypto/sha256"
	"io"
	"strings"
)
type LoginCred string
const login_cred_delim = " "
const num_sha_digest_iteration = 1024 * 1024 