Documentation ¶
Index ¶
- Constants
- Variables
- func NeedsRehash(h string, opslimit, memlimit uint64) (rehash bool)
- func New(pw []byte) (ph godium.PwHash)
- func NewScrypt(pw []byte) (ph godium.PwHash)
- type Argon2i
- func (pw *Argon2i) BytesMax() int
- func (pw *Argon2i) BytesMin() int
- func (pw *Argon2i) Hash(dst, salt []byte, out, opslimit, memlimit uint64) (h []byte)
- func (pw *Argon2i) HashParallel(dst, salt []byte, out, opslimit, memlimit uint64, threads uint8) (h []byte)
- func (pw *Argon2i) MemLimitInteractive() int
- func (pw *Argon2i) MemLimitMax() int
- func (pw *Argon2i) MemLimitMin() int
- func (pw *Argon2i) MemLimitModerate() int
- func (pw *Argon2i) MemLimitSensitive() int
- func (pw *Argon2i) OpsLimitInteractive() int
- func (pw *Argon2i) OpsLimitMax() int
- func (pw *Argon2i) OpsLimitMin() int
- func (pw *Argon2i) OpsLimitModerate() int
- func (pw *Argon2i) OpsLimitSensitive() int
- func (pw *Argon2i) PasswdMax() int
- func (pw *Argon2i) PasswdMin() int
- func (pw *Argon2i) SaltBytes() int
- func (pw *Argon2i) Str(dst []byte, opslimit, memlimit uint64) (h []byte)
- func (pw *Argon2i) StrBytes() int
- func (pw *Argon2i) StrParallel(dst []byte, opslimit, memlimit uint64, threads uint8) (h []byte)
- func (pw *Argon2i) StrPrefix() string
- func (pw *Argon2i) StrVerify(h []byte) (valid bool)
- func (pw *Argon2i) StrVerifyParallel(h []byte, threads uint8) (valid bool)
- func (pw *Argon2i) Wipe()
- type Argon2id
- func (pw *Argon2id) BytesMax() int
- func (pw *Argon2id) BytesMin() int
- func (pw *Argon2id) MemLimitInteractive() int
- func (pw *Argon2id) MemLimitMax() int
- func (pw *Argon2id) MemLimitMin() int
- func (pw *Argon2id) MemLimitModerate() int
- func (pw *Argon2id) MemLimitSensitive() int
- func (pw *Argon2id) OpsLimitInteractive() int
- func (pw *Argon2id) OpsLimitMax() int
- func (pw *Argon2id) OpsLimitMin() int
- func (pw *Argon2id) OpsLimitModerate() int
- func (pw *Argon2id) OpsLimitSensitive() int
- func (pw *Argon2id) PasswdMax() int
- func (pw *Argon2id) PasswdMin() int
- func (pw *Argon2id) SaltBytes() int
- func (pw *Argon2id) StrBytes() int
- func (pw *Argon2id) StrPrefix() string
- type Scrypt
- func (pw *Scrypt) BytesMax() int
- func (pw *Scrypt) BytesMin() int
- func (pw *Scrypt) Hash(dst, salt []byte, out, opslimit, memlimit uint64) (h []byte, err error)
- func (pw *Scrypt) MemLimitInteractive() int
- func (pw *Scrypt) MemLimitMax() int
- func (pw *Scrypt) MemLimitMin() int
- func (pw *Scrypt) MemLimitModerate() int
- func (pw *Scrypt) MemLimitSensitive() int
- func (pw *Scrypt) OpsLimitInteractive() int
- func (pw *Scrypt) OpsLimitMax() int
- func (pw *Scrypt) OpsLimitMin() int
- func (pw *Scrypt) OpsLimitModerate() int
- func (pw *Scrypt) OpsLimitSensitive() int
- func (pw *Scrypt) PasswdMax() int
- func (pw *Scrypt) PasswdMin() int
- func (pw *Scrypt) SaltBytes() int
- func (pw *Scrypt) Str(dst []byte, opslimit, memlimit uint64) (h []byte, err error)
- func (pw *Scrypt) StrBytes() int
- func (pw *Scrypt) StrPrefix() string
- func (pw *Scrypt) StrVerify(stored []byte) (err error)
- func (pw *Scrypt) Wipe()
Constants ¶
View Source
const ( Argon2i_Alg = 1 Argon2i_BytesMin = 16 Argon2i_BytesMax = math.MaxUint32 Argon2i_PasswdMin = 0 Argon2i_PasswdMax = 4294967295 Argon2i_MemLimitMin = 8192 Argon2i_MemLimitMax = 4398046510080 Argon2i_MemLimitInteractive = 33554432 Argon2i_MemLimitModerate = 134217728 Argon2i_MemLimitSensitive = 536870912 Argon2i_OpsLimitMin = 3 Argon2i_OpsLimitMax = 4294967295 Argon2i_OpsLimitInteractive = 4 Argon2i_OpsLimitModerate = 6 Argon2i_OpsLimitSensitive = 8 Argon2i_SaltBytes = 16 Argon2i_StrBytes = 128 Argon2i_StrPrefix = "$argon2i$" )
View Source
const ( Argon2id_Alg = 2 Argon2id_BytesMin = 16 Argon2id_BytesMax = math.MaxUint32 Argon2id_PasswdMin = 0 Argon2id_PasswdMax = 4294967295 Argon2id_MemLimitMin = 8192 Argon2id_MemLimitMax = 4398046510080 Argon2id_MemLimitInteractive = 67108864 Argon2id_MemLimitModerate = 268435456 Argon2id_MemLimitSensitive = 1073741824 Argon2id_OpsLimitMin = 1 Argon2id_OpsLimitMax = 4294967295 Argon2id_OpsLimitInteractive = 2 Argon2id_OpsLimitModerate = 3 Argon2id_OpsLimitSensitive = 4 Argon2id_SaltBytes = 16 Argon2id_StrBytes = 128 Argon2id_StrPrefix = "$argon2id$" )
View Source
const ( Primitive = "argon2id" AlgArgon2i = Argon2i_Alg AlgArgon2id = Argon2id_Alg AlgDefault = AlgArgon2id BytesMin = Argon2i_BytesMin BytesMax = Argon2i_BytesMax PasswdMin = Argon2i_PasswdMin PasswdMax = Argon2i_PasswdMax MemLimitMin = Argon2i_MemLimitMin MemLimitMax = Argon2i_MemLimitMax MemLimitInteractive = Argon2i_MemLimitInteractive MemLimitModerate = Argon2i_MemLimitModerate MemLimitSensitive = Argon2i_MemLimitSensitive OpsLimitMin = Argon2i_OpsLimitMin OpsLimitMax = Argon2i_OpsLimitMax OpsLimitInteractive = Argon2i_OpsLimitInteractive OpsLimitModerate = Argon2i_OpsLimitModerate OpsLimitSensitive = Argon2i_OpsLimitSensitive SaltBytes = Argon2i_SaltBytes StrBytes = Argon2i_StrBytes StrPrefix = Argon2i_StrPrefix )
View Source
const ( Scrypt_BytesMin = 16 Scrypt_BytesMax = 0x1fffffffe0 Scrypt_PasswdMin = 0 Scrypt_PasswdMax = math.MaxUint32 Scrypt_MemLimitMin = 16777216 Scrypt_MemLimitMax = 68719476736 Scrypt_MemLimitInteractive = 16777216 Scrypt_MemLimitSensitive = 1073741824 Scrypt_OpsLimitMin = 32768 Scrypt_OpsLimitMax = 4294967295 Scrypt_OpsLimitInteractive = 524288 Scrypt_OpsLimitSensitive = 33554432 Scrypt_SaltBytes = 32 Scrypt_StrBytes = 102 Scrypt_StrPrefix = "$7$" )
Variables ¶
View Source
var ( ErrWrongAlg = errors.New("wrong algorithm identifier found") ErrWrongPassword = errors.New("wrong password entered") )
Functions ¶
Types ¶
type Argon2i ¶
type Argon2i struct {
// contains filtered or unexported fields
}
Argon2i
func (*Argon2i) HashParallel ¶
func (pw *Argon2i) HashParallel(dst, salt []byte, out, opslimit, memlimit uint64, threads uint8) (h []byte)
HashParallel functions like Hash, but accepts an additional parameter that specifies the level of parallelism for the generation of the hash.
func (*Argon2i) MemLimitInteractive ¶
func (*Argon2i) MemLimitMax ¶
func (*Argon2i) MemLimitMin ¶
func (*Argon2i) MemLimitModerate ¶
func (*Argon2i) MemLimitSensitive ¶
func (*Argon2i) OpsLimitInteractive ¶
func (*Argon2i) OpsLimitMax ¶
func (*Argon2i) OpsLimitMin ¶
func (*Argon2i) OpsLimitModerate ¶
func (*Argon2i) OpsLimitSensitive ¶
func (*Argon2i) StrParallel ¶
StrParallel functions like Str, but accepts an additional parameter that specifies the level of parallelism for the generation of the hash string.
func (*Argon2i) StrVerifyParallel ¶
StrVerifyParallel functions like StrVerify, but accepts an additional parameter that specifies the level of parallelism for the verification of the hash.
type Argon2id ¶
type Argon2id struct {
// contains filtered or unexported fields
}
func (*Argon2id) MemLimitInteractive ¶
func (*Argon2id) MemLimitMax ¶
func (*Argon2id) MemLimitMin ¶
func (*Argon2id) MemLimitModerate ¶
func (*Argon2id) MemLimitSensitive ¶
func (*Argon2id) OpsLimitInteractive ¶
func (*Argon2id) OpsLimitMax ¶
func (*Argon2id) OpsLimitMin ¶
func (*Argon2id) OpsLimitModerate ¶
func (*Argon2id) OpsLimitSensitive ¶
type Scrypt ¶
type Scrypt struct {
// contains filtered or unexported fields
}
Scrypt implements godium.PwHash, based on the Scrypt password hashing function.
func (*Scrypt) MemLimitInteractive ¶
func (*Scrypt) MemLimitMax ¶
func (*Scrypt) MemLimitMin ¶
func (*Scrypt) MemLimitModerate ¶
func (*Scrypt) MemLimitSensitive ¶
func (*Scrypt) OpsLimitInteractive ¶
func (*Scrypt) OpsLimitMax ¶
func (*Scrypt) OpsLimitMin ¶
func (*Scrypt) OpsLimitModerate ¶
func (*Scrypt) OpsLimitSensitive ¶
Click to show internal directories.
Click to hide internal directories.