diff options
Diffstat (limited to 'src/main/scala/byspel/PasswordHash.scala')
-rw-r--r-- | src/main/scala/byspel/PasswordHash.scala | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/scala/byspel/PasswordHash.scala b/src/main/scala/byspel/PasswordHash.scala new file mode 100644 index 0000000..c97723d --- /dev/null +++ b/src/main/scala/byspel/PasswordHash.scala @@ -0,0 +1,23 @@ +package byspel + +import de.mkammerer.argon2.Argon2Factory +import java.nio.charset.StandardCharsets + +object PasswordHash { + + private val argon2 = Argon2Factory.create() + + /** Salt and hash a password. */ + def protect(plain: String): String = + argon2.hash( + 10, // iterations + 65536, // memory + 1, // parallelism + plain, // password + StandardCharsets.UTF_8 + ) + + def verify(plain: String, hashed: String): Boolean = + argon2.verify(hashed, plain) + +} |