Documentation ¶
Overview ¶
Package hasher contains a set of password hashers
Index ¶
- Constants
- func Register(code string, hshr NewHasherFunc) error
- type Hasher
- func New(hasherType string) (Hasher, error)
- func NewMD5Hasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewPlainHasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewSHA1Hasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewSHA224Hasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewSHA256Hasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewSHA384Hasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewSHA512Hasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewSHA512_224Hasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewSHA512_256Hasher(iterations *int, salt *string, hashedPassword *[]byte) Hasher
- func NewWithParams(hasherType string, iterations *int, salt *string, hashedPassword *[]byte) (Hasher, error)
- type MD5Hasher
- type NewHasherFunc
- type PlainHasher
- type SHA1Hasher
- type SHA224Hasher
- type SHA256Hasher
- type SHA384Hasher
- type SHA512Hasher
- type SHA512_224Hasher
- type SHA512_256Hasher
Constants ¶
const ( // DefaultSaltLength is a default salt length when is not set manually DefaultSaltLength = 20 // DefaultIter is a default iterations counter when is not set manually DefaultIter = 2048 )
const ( // TypePlain is a plain hasher TypePlain = "plain" // TypeMD5 is a MD5 hasher TypeMD5 = "md5" // TypeSHA1 is a SHA-1 hasher TypeSHA1 = "sha1" // TypeSHA224 is a SHA-224 hasher TypeSHA224 = "sha224" // TypeSHA256 is a SHA-256 hasher TypeSHA256 = "sha256" // TypeSHA384 is a SHA-384 hasher TypeSHA384 = "sha384" // TypeSHA512 is a SHA-512 hasher TypeSHA512 = "sha512" // TypeSHA512_224 is a SHA-512/224 hasher TypeSHA512_224 = "sha512_224" // TypeSHA512_256 is a SHA-512/256 hasher TypeSHA512_256 = "sha512_256" )
Hasher types used in function New
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Hasher ¶
type Hasher interface { // Code returns internal hasher code (go-passwd/marshaler) Code() string // Hash password Hash(string) []byte // SetPassword SetPassword(string) Check(string) bool // String representation of hashed password String() string }
Hasher interface
func NewMD5Hasher ¶
NewMD5Hasher returns a new MD5 hasher instance
func NewPlainHasher ¶
NewPlainHasher returns a new plain hasher instance
func NewSHA1Hasher ¶
NewSHA1Hasher returns a new SHA1 hasher instance
func NewSHA224Hasher ¶
NewSHA224Hasher returns a new plain hasher instance
func NewSHA256Hasher ¶
NewSHA256Hasher returns a new plain hasher instance
func NewSHA384Hasher ¶
NewSHA384Hasher returns a new plain hasher instance
func NewSHA512Hasher ¶
NewSHA512Hasher returns a new plain hasher instance
func NewSHA512_224Hasher ¶
NewSHA512_224Hasher returns a new plain hasher instance
func NewSHA512_256Hasher ¶
NewSHA512_256Hasher returns a new plain hasher instance
type MD5Hasher ¶
MD5Hasher hash password in MD5
func (*MD5Hasher) SetPassword ¶
SetPassword sets a password
type NewHasherFunc ¶
NewHasherFunc describes function that returns new hasher
type PlainHasher ¶
PlainHasher stored password as plain text
func (*PlainHasher) Check ¶
func (h *PlainHasher) Check(plain string) bool
Check if password is equal stored password
func (PlainHasher) Code ¶
func (h PlainHasher) Code() string
Code returns internal plain hasher code
func (*PlainHasher) SetPassword ¶
func (h *PlainHasher) SetPassword(password string)
SetPassword sets a password
func (*PlainHasher) String ¶
func (h *PlainHasher) String() string
type SHA1Hasher ¶
SHA1Hasher hash password in SHA-1
func (*SHA1Hasher) Check ¶
func (h *SHA1Hasher) Check(plain string) bool
Check if hashed password is equal stored password hash
func (SHA1Hasher) Code ¶
func (h SHA1Hasher) Code() string
Code returns internal SHA-224 hasher code
func (*SHA1Hasher) SetPassword ¶
func (h *SHA1Hasher) SetPassword(plain string)
SetPassword sets a password
func (*SHA1Hasher) String ¶
func (h *SHA1Hasher) String() string
type SHA224Hasher ¶
SHA224Hasher hash password in SHA-224
func (*SHA224Hasher) Check ¶
func (h *SHA224Hasher) Check(plain string) bool
Check if hashed password is equal stored password hash
func (SHA224Hasher) Code ¶
func (h SHA224Hasher) Code() string
Code returns internal SHA-224 hasher code
func (*SHA224Hasher) SetPassword ¶
func (h *SHA224Hasher) SetPassword(plain string)
SetPassword sets a password
func (*SHA224Hasher) String ¶
func (h *SHA224Hasher) String() string
type SHA256Hasher ¶
SHA256Hasher hash password in SHA256
func (*SHA256Hasher) Check ¶
func (h *SHA256Hasher) Check(plain string) bool
Check if hashed password is equal stored password hash
func (SHA256Hasher) Code ¶
func (h SHA256Hasher) Code() string
Code returns internal SHA-224 hasher code
func (*SHA256Hasher) SetPassword ¶
func (h *SHA256Hasher) SetPassword(plain string)
SetPassword sets a password
func (*SHA256Hasher) String ¶
func (h *SHA256Hasher) String() string
type SHA384Hasher ¶
SHA384Hasher hash password in SHA-384
func (*SHA384Hasher) Check ¶
func (h *SHA384Hasher) Check(plain string) bool
Check if hashed password is equal stored password hash
func (SHA384Hasher) Code ¶
func (h SHA384Hasher) Code() string
Code returns internal SHA-384 hasher code
func (*SHA384Hasher) SetPassword ¶
func (h *SHA384Hasher) SetPassword(plain string)
SetPassword sets a password
func (*SHA384Hasher) String ¶
func (h *SHA384Hasher) String() string
type SHA512Hasher ¶
SHA512Hasher hash password in SHA-512
func (*SHA512Hasher) Check ¶
func (h *SHA512Hasher) Check(plain string) bool
Check if hashed password is equal stored password hash
func (SHA512Hasher) Code ¶
func (h SHA512Hasher) Code() string
Code returns internal SHA-512 hasher code
func (*SHA512Hasher) SetPassword ¶
func (h *SHA512Hasher) SetPassword(plain string)
SetPassword sets a password
func (*SHA512Hasher) String ¶
func (h *SHA512Hasher) String() string
type SHA512_224Hasher ¶
SHA512_224Hasher hash password in SHA-512/224
func (*SHA512_224Hasher) Check ¶
func (h *SHA512_224Hasher) Check(plain string) bool
Check if hashed password is equal stored password hash
func (SHA512_224Hasher) Code ¶
func (h SHA512_224Hasher) Code() string
Code returns internal SHA-512/224 hasher code
func (*SHA512_224Hasher) Hash ¶
func (h *SHA512_224Hasher) Hash(password string) []byte
Hash a password
func (*SHA512_224Hasher) SetPassword ¶
func (h *SHA512_224Hasher) SetPassword(plain string)
SetPassword sets a password
func (*SHA512_224Hasher) String ¶
func (h *SHA512_224Hasher) String() string
type SHA512_256Hasher ¶
SHA512_256Hasher hash password in SHA-512/256
func (*SHA512_256Hasher) Check ¶
func (h *SHA512_256Hasher) Check(plain string) bool
Check if hashed password is equal stored password hash
func (SHA512_256Hasher) Code ¶
func (h SHA512_256Hasher) Code() string
Code returns internal SHA-512/256 hasher code
func (*SHA512_256Hasher) Hash ¶
func (h *SHA512_256Hasher) Hash(password string) []byte
Hash a password
func (*SHA512_256Hasher) SetPassword ¶
func (h *SHA512_256Hasher) SetPassword(plain string)
SetPassword sets a password
func (*SHA512_256Hasher) String ¶
func (h *SHA512_256Hasher) String() string