Documentation ¶
Index ¶
- Variables
- func Compare(ctx context.Context, password []byte, hash []byte) error
- func CompareArgon2i(_ context.Context, password []byte, hash []byte) error
- func CompareArgon2id(_ context.Context, password []byte, hash []byte) error
- func CompareBcrypt(_ context.Context, password []byte, hash []byte) error
- func ComparePbkdf2(_ context.Context, password []byte, hash []byte) error
- func IsArgon2iHash(hash []byte) bool
- func IsArgon2idHash(hash []byte) bool
- func IsBcryptHash(hash []byte) bool
- func IsPbkdf2Hash(hash []byte) bool
- type Argon2
- type Argon2Configuration
- type Bcrypt
- type BcryptConfiguration
- type HashProvider
- type Hasher
- type Pbkdf2
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidHash = errors.New("the encoded hash is not in the correct format") ErrIncompatibleVersion = errors.New("incompatible version of argon2") ErrMismatchedHashAndPassword = errors.New("passwords do not match") )
View Source
var ErrUnknownHashAlgorithm = errors.New("unknown hash algorithm")
Functions ¶
func IsArgon2iHash ¶
func IsArgon2idHash ¶
func IsBcryptHash ¶
func IsPbkdf2Hash ¶
Types ¶
type Argon2 ¶
type Argon2 struct {
// contains filtered or unexported fields
}
func NewHasherArgon2 ¶
func NewHasherArgon2(c Argon2Configuration) *Argon2
func (*Argon2) Understands ¶
type Argon2Configuration ¶
type Bcrypt ¶
type Bcrypt struct {
// contains filtered or unexported fields
}
func NewHasherBcrypt ¶
func NewHasherBcrypt(c BcryptConfiguration) *Bcrypt
func (*Bcrypt) Understands ¶
type BcryptConfiguration ¶
type HashProvider ¶
type HashProvider interface {
Hasher() Hasher
}
type Hasher ¶
type Hasher interface { // Generate returns a hash derived from the password or an error if the hash method failed. Generate(ctx context.Context, password []byte) ([]byte, error) // Understands returns whether the given hash can be understood by this hasher. Understands(hash []byte) bool }
Hasher provides methods for generating and comparing password hashes.
Click to show internal directories.
Click to hide internal directories.