A simple authentication system that allows user account creation and securely verifies credentials during login.
- Prompts the user for their first name, last name, email, and password.
- Validates that the password is strong.
- Hashes the password using Argon2 with a unique salt.
- Stores the user’s information (including the salted hash) in a SQLite database.
- Prompts the user to enter their email and password.
- Retrieves the stored hashed password + salt for the given account.
- Hashes the entered password with the same salt.
- Compares the result with the stored hash.
- If they match, the user is logged in; otherwise, an error message is displayed.
- Java
- JDK
- Argon2
- SQLite
Contributions are welcome.
This project is intended for learning purposes only. Please verify and strengthen security measures before using it in production.