func NewClient(newHash func() hash.Hash, user, pass string) *Client {
	c := &Client{
		newHash: newHash,
		user:    user,
		pass:    pass,
	}
	c.out.Grow(256)
	c.authMsg.Grow(256)
	return c
}
func NewClient(newHash func() hash.Hash, user, pass string) *Client {
	c := &Client{
		newHash: newHash,
		user:    user,
		pass:    pass,
	}
	c.out.Grow(256)
	c.authMsg.Grow(256)
	return c
}
func NewClient ( newHash func ( ) hash . Hash , user , pass string ) * Client { c := & Client { newHash : newHash , user : user , pass : pass , } c . out . Grow ( 256 ) c . authMsg . Grow ( 256 ) return c }
// NewClient returns a new SCRAM-* client with the provided hash algorithm.
//
// For SCRAM-SHA-1, for example, use:
//
//    client := scram.NewClient(sha1.New, user, pass)
//
NewClient returns a new SCRAM - * client with the provided hash algorithm . For SCRAM - SHA - 1 for example use : client : = scram . NewClient ( sha1 . New user pass )