Popularity
1.3
Growing
Activity
2.4
Growing
8
3
0

Description

This library can hash passwords using various algorithms and outputs them as crypt-strings.

Programming language: Go
License: Apache License 2.0
Tags: Go Tools     Go     Golang     Hash     Argon2     SHA256     SHA512     Crypt    
Latest version: v0.4.3

Crypt alternatives and similar packages

Based on the "Go Tools" category.
Alternatively, view Crypt alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Crypt or a related project?

Add another 'Go Tools' Package

README

Crypt

Build Status Go Report Card Documentation

Crypt implementation in pure Go. It provides a unified interface to varous hashing algorithms for key derivation.

Example

func main() {
    password := "password"
    settings := "$argon2id$v=19$m=65536,t=2,p=4$c2FsdHNhbHQ" // salt = "saltsalt"

    encoded, err := crypt.Crypt(password, settings)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(encoded)
    // Output: $argon2id$v=19$m=65536,t=2,p=4$c2FsdHNhbHQ$mxUf7CB5gEwtDSiHfZCvxj17E8XeTFh2fpti1ioD3SA
}

Algorithm

Currently, the following algorithms are supported:

Code Name Example
1 MD5 $1$deadbeef$Q7g0UO4hRC0mgQUQ/qkjZ0
5 SHA256 $5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5
6 SHA512 $6$saltstring$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJuesI68u4OTLiBFdcbYEdFCoEOfaS35inz1
2a bcrypt $2a$05$/OK.fbVrR/bpIqNJ5ianF.Sa7shbm4.OzKpvFnX1pQLmQW96oUlCq
argon2i Argon2i $argon2i$v=19$m=65536,t=2$c29tZXNhbHQ$IMit9qkFULCMA/ViizL57cnTLOa5DiVM9eMwpAvPwr4
argon2id Argon2id $argon2id$v=19$m=65536,t=2,p=4$c29tZXNhbHQ$GpZ3sK/oH9p7VIiV56G/64Zo/8GaUw434IimaPqxwCo

It's recommended that you used argon2id for crypting passwords.

Links

This implementation is inspired by crypt.

License

The code is licensed under Apache 2.0


*Note that all licence references and agreements mentioned in the Crypt README section above are relevant to that project's source code only.