Add support for the Argon2 hashing algorithm

Description

Add support for the Argon2 hashing algorithm that was the winner of the most recent "Password Hashing Competition" (https://password-hashing.net/). The public repo for the algorithm can be found here:

https://github.com/p-h-c/phc-winner-argon2

Specification PDF here:

https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf

There is some information here about using it with Java:

https://www.twelve21.io/how-to-use-argon2-for-password-hashing-in-java/

and there is an online generator here that can be used to validate the output from a new Lucee function:

https://argon2.online/

Suggest the name of the function would be:

`GenerateArgon2Hash`

with parameters of:

  • Variant (either Argon2i, Argon2d or Argon2id)

  • Text Input (the value to be hashed)

  • Salt (the salt to be used)

  • Parallelism Factor (a number between 1 and 10

  • Memory cost (a number between 8 and 100000)

  • Iterations (a number between 1 and 20)

  • Hash Length (a number between 4 and 100)

Assignee

Michael Offner

Reporter

Andrew Dixon

Labels

Sprint

Fix versions

Priority

New
Configure