argon2/README.md
euphoria-laxis 2abf56dfd6
Some checks failed
Test github.com/euphoria-laxis/argon2 / build (push) Has been cancelled
Update README.md Usages section
2023-09-13 11:46:18 +02:00

1.3 KiB

Argon2 utils

About

Utils to encrypt passwords using argon2

Usages

Hash password

    password := 'qwerty@123'
    // Create new encoder using default options
    encoder, _ := argon2.NewEncoder()
    hashedString, err = encoder.HashString(randomString)
    if err != nil {
        // handle error
    }

Compare password with hashed string

    // Create new decoder using default options
    decoder, _ := argon2.NewDecoder()
    match, err := decoder.CompareStringToHash(password, hashedString)
    if err != nil {
		// handle error
    }

Configure encoder or decoder options

Note that encoder and decoder inherited from the same base struct (argon2.Options). You can use the same argon2.OptFunc slice to configure both encoder and decoder.

    // Create new encoder using custom parameters
    encoder, options := argon2.NewEncoder(
        SetMemory(64 * 1024), // 64 bits
        SetParallelism(4),    // 4 concurrent actions
        SetKeyLength(32),     // key length
        SetSaltLength(32),    // salt length
        SetIterations(4),     // number of iterations
    )

Contributions

Euphoria Laxis GitHub

License

This project is under MIT License