parseHashedPassword() — fiber Function Reference
Architecture documentation for the parseHashedPassword() function in config.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD f1aa6348_4a4d_8681_83b0_a6601ceef6b4["parseHashedPassword()"] 01789d85_fb66_6955_8e64_00a267dc5b74["config.go"] f1aa6348_4a4d_8681_83b0_a6601ceef6b4 -->|defined in| 01789d85_fb66_6955_8e64_00a267dc5b74 2ad37537_a29d_ecbf_0fcd_cb581bf8f843["configDefault()"] 2ad37537_a29d_ecbf_0fcd_cb581bf8f843 -->|calls| f1aa6348_4a4d_8681_83b0_a6601ceef6b4 style f1aa6348_4a4d_8681_83b0_a6601ceef6b4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/basicauth/config.go lines 162–202
func parseHashedPassword(h string) (func(string) bool, error) {
switch {
case strings.HasPrefix(h, "$2"):
hash := []byte(h)
return func(p string) bool {
return bcrypt.CompareHashAndPassword(hash, []byte(p)) == nil
}, nil
case strings.HasPrefix(h, "{SHA512}"):
b, err := base64.StdEncoding.DecodeString(h[len("{SHA512}"):])
if err != nil {
return nil, fmt.Errorf("decode SHA512 password: %w", err)
}
return func(p string) bool {
sum := sha512.Sum512([]byte(p))
return subtle.ConstantTimeCompare(sum[:], b) == 1
}, nil
case strings.HasPrefix(h, "{SHA256}"):
b, err := base64.StdEncoding.DecodeString(h[len("{SHA256}"):])
if err != nil {
return nil, fmt.Errorf("decode SHA256 password: %w", err)
}
return func(p string) bool {
sum := sha256.Sum256([]byte(p))
return subtle.ConstantTimeCompare(sum[:], b) == 1
}, nil
default:
b, err := hex.DecodeString(h)
if err != nil || len(b) != sha256.Size {
if b, err = base64.StdEncoding.DecodeString(h); err != nil {
return nil, fmt.Errorf("decode SHA256 password: %w", err)
}
if len(b) != sha256.Size {
return nil, ErrInvalidSHA256PasswordLength
}
}
return func(p string) bool {
sum := sha256.Sum256([]byte(p))
return subtle.ConstantTimeCompare(sum[:], b) == 1
}, nil
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does parseHashedPassword() do?
parseHashedPassword() is a function in the fiber codebase, defined in middleware/basicauth/config.go.
Where is parseHashedPassword() defined?
parseHashedPassword() is defined in middleware/basicauth/config.go at line 162.
What calls parseHashedPassword()?
parseHashedPassword() is called by 1 function(s): configDefault.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free