Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrEmpty gets returned when the password is empty or all whitespace ErrEmpty = errors.New("Password is empty or all whitespace") // ErrTooShort gets returned when the password is not long enough ErrTooShort = errors.New("Password is too short") // ErrTooFewChars gets returned when the password does not contain enough unique characters ErrTooFewChars = errors.New("Password does not contain enough different/unique characters") // ErrTooSystematic gets returned when the password is too systematic (e.g. 123456, abcdef) ErrTooSystematic = errors.New("Password is too systematic") // ErrDictionary gets returned when the password is found in a dictionary ErrDictionary = errors.New("Password is too common / from a dictionary") // ErrMangledDictionary gets returned when the password is mangled, but found in a dictionary ErrMangledDictionary = errors.New("Password is mangled, but too common / from a dictionary") // ErrHashedDictionary gets returned when the password is hashed, but found in a dictionary ErrHashedDictionary = errors.New("Password is hashed, but too common / from a dictionary") // ErrFoundHIBP gets returned when the password has been found on https://haveibeenpwned.com ErrFoundHIBP = errors.New("Password has been found inside haveibeenpwned.com database") )
Functions ¶
This section is empty.
Types ¶
type DictionaryError ¶
DictionaryError wraps an ErrMangledDictionary with contextual information
func (*DictionaryError) Error ¶
func (e *DictionaryError) Error() string
type HashedDictionaryError ¶
HashedDictionaryError wraps an ErrHashedDictionary with contextual information
func (*HashedDictionaryError) Error ¶
func (e *HashedDictionaryError) Error() string
type Options ¶
type Options struct { // MinLength is the minimum length required for a valid password (>=1, default is 8) MinLength int // MinDiff is the minimum amount of unique characters required for a valid password (>=1, default is 5) MinDiff int // MinDist is the minimum WagnerFischer distance for mangled password dictionary lookups (>=0, default is 3) MinDist int // Hashers will be used to find hashed passwords in dictionaries Hashers []hash.Hash // DictionaryPath contains all the dictionaries that will be parsed (default is /usr/share/dict) DictionaryPath string // Check haveibeenpwned.com database CheckHIBP bool }
Options contains all the settings for a Validator
type Validator ¶
type Validator struct {
// contains filtered or unexported fields
}
Validator is used to setup a new password validator with options and dictionaries
func NewValidator ¶
func NewValidator() *Validator
NewValidator returns a new password validator with default settings
func NewValidatorWithOpts ¶
NewValidatorWithOpts returns a new password validator with custom settings