func (salt *Salt) MarshalText() []byte {
	size := hex.EncodedLen(saltSize)
	buffer := make([]byte, size)
	hex.Encode(buffer, salt.Bytes())
	return buffer
}
MarshalText - convert salt to little endian hex text

***** possibly use NewEncoder and byte buffer to save copy
package configuration
import (
	"crypto/rand"
	"encoding/hex"
	"github.com/bitmark-inc/bitmarkd/fault"
)
const (
	saltSize = 32
)
type Salt [saltSize]byte
func MakeSalt() (*Salt, error) {
	salt := new(Salt)
	if _, err := rand.Read(salt[:]); err != nil {
		return nil, err
	}
	return salt, nil
}
func (salt Salt) Bytes() []byte {
	return salt[:]
}
func (salt Salt) String() string {
	return hex.EncodeToString(salt.Bytes())
}