Documentation ¶
Overview ¶
Package sha1crypt provides helpful abstractions for an implementation of crypt (SHA1) and implements github.com/go-crypt/crypt interfaces.
This implementation is loaded by crypt.NewDecoderAll.
Index ¶
- Constants
- func Decode(encodedDigest string) (digest algorithm.Digest, err error)
- func RegisterDecoder(r algorithm.DecoderRegister) (err error)
- func RegisterDecoderCommon(r algorithm.DecoderRegister) (err error)
- type Digest
- func (d *Digest) Encode() string
- func (d *Digest) Match(password string) (match bool)
- func (d *Digest) MatchAdvanced(password string) (match bool, err error)
- func (d *Digest) MatchBytes(passwordBytes []byte) (match bool)
- func (d *Digest) MatchBytesAdvanced(passwordBytes []byte) (match bool, err error)
- func (d *Digest) String() string
- type Hasher
- func (h *Hasher) Hash(password string) (digest algorithm.Digest, err error)
- func (h *Hasher) HashWithSalt(password string, salt []byte) (digest algorithm.Digest, err error)
- func (h *Hasher) MustHash(password string) (digest algorithm.Digest)
- func (h *Hasher) Validate() (err error)
- func (h *Hasher) WithOptions(opts ...Opt) (err error)
- type Opt
Constants ¶
const ( // EncodingFmt is the encoding format for this algorithm. EncodingFmt = "$sha1$%d$%s$%s" // AlgName is the name for this algorithm. AlgName = "sha1crypt" // AlgIdentifier is the identifier used in this algorithm. AlgIdentifier = "sha1" // SaltLengthMin is the minimum salt size accepted. SaltLengthMin = 0 // SaltLengthMax is the maximum salt size accepted. SaltLengthMax = 64 // SaltLengthDefault is the default salt size. SaltLengthDefault = 8 // SaltCharSet are the valid characters for the salt. SaltCharSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./" // IterationsMin is the minimum iterations accepted. IterationsMin = 0 // IterationsMax is the maximum iterations accepted. IterationsMax uint32 = math.MaxUint32 // IterationsDefault is the default iterations. IterationsDefault = 480000 )
Variables ¶
This section is empty.
Functions ¶
func RegisterDecoder ¶
func RegisterDecoder(r algorithm.DecoderRegister) (err error)
RegisterDecoder the decoder with the algorithm.DecoderRegister.
func RegisterDecoderCommon ¶
func RegisterDecoderCommon(r algorithm.DecoderRegister) (err error)
RegisterDecoderCommon registers specifically the common decoder variant with the algorithm.DecoderRegister.
Types ¶
type Digest ¶
type Digest struct {
// contains filtered or unexported fields
}
Digest is a algorithm.Digest which handles sha1crypt hashes.
func (*Digest) Match ¶
Match returns true if the string password matches the current sha1crypt.Digest.
func (*Digest) MatchAdvanced ¶
MatchAdvanced is the same as Match except if there is an error it returns that as well.
func (*Digest) MatchBytes ¶
MatchBytes returns true if the []byte passwordBytes matches the current sha1crypt.Digest.
func (*Digest) MatchBytesAdvanced ¶
MatchBytesAdvanced is the same as MatchBytes except if there is an error it returns that as well.
type Hasher ¶
type Hasher struct {
// contains filtered or unexported fields
}
Hasher is a crypt.Hash for sha1crypt which can be initialized via sha1crypt.New using a functional options pattern.
func (*Hasher) Hash ¶
Hash performs the hashing operation and returns either a algorithm.Digest or an error.
func (*Hasher) HashWithSalt ¶
HashWithSalt overloads the Hash method allowing the user to provide a salt. It's recommended instead to configure the salt size and let this be a random value generated using crypto/rand.
func (*Hasher) MustHash ¶
MustHash overloads the Hash method and panics if the error is not nil. It's recommended if you use this option to utilize the Validate method first or handle the panic appropriately.
func (*Hasher) Validate ¶
Validate checks the settings/parameters for this sha1crypt.Hasher and returns an error.
func (*Hasher) WithOptions ¶
WithOptions applies the provided functional options provided as a sha1crypt.Opt to the sha1crypt.Hasher.
type Opt ¶
Opt describes the functional option pattern for the sha1crypt.Hasher.
func WithIterations ¶
WithIterations sets the iterations parameter of the resulting sha1crypt.Digest. Minimum is 0, Maximum is 4294967295. Default is 480000.
func WithRounds ¶
WithRounds is an alias for sha1crypt.WithIterations.
func WithSaltLength ¶
WithSaltLength adjusts the salt size (in bytes) of the resulting sha1crypt.Digest. Minimum is 1, Maximum is 64. Default is 8.