Login Project with Enhanced Security - Created by Hunterosmo

Project Description: This project implements a basic login system where passwords are securely stored using the jBCrypt library. The BCrypt algorithm is used, which is known for its ability to resist brute force attacks due to its adaptive "work factor" function.

PROYECT

2/4/20251 min read

Key Download: lS5jtNPmcr6n0hEU4o6GFx1lVXbRF5kohxyzu9_AE94

  • Login credentials:

    • Username: admin

    • Password: 123

Technologies Used:

  • jBCrypt 0.4.1.jar: Implementation of BCrypt in Java for securely storing and verifying passwords.

  • NetBeans 8.2: Development environment used for creating and running the project.

  • PrimeFaces: UI component library used for creating Java user interface components.

  • Hibernate: Framework for managing data persistence in Java.

  • GlassFish Server 4.1.1: Application server used to run the project.

How the jBCrypt Library Works:

  1. BCrypt Algorithm:

    • Specifically designed to store passwords securely.

    • Uses a "salt" (a unique random value) added to the password before hashing, which enhances security against dictionary attacks.

    • Implements an adaptive work factor, making the hashing process slower and more resistant to brute force attacks.

  2. Main jBCrypt Functions:

    • hashpw(String password, String salt): Generates a BCrypt hash for the password using a given salt.

    • checkpw(String candidate, String hashed): Verifies if a candidate password matches the stored BCrypt hash.

  3. Enhanced Security:

    • By securely storing passwords in the database with a BCrypt-generated hash, the system protects user credentials from being exposed to common password recovery attacks.

Summary of jBCrypt-0.4.1.jar:

  • Purpose: jBCrypt is an implementation of BCrypt for Java, providing an easy way to implement secure user authentication systems.

  • Version used: jBCrypt-0.4.1.jar.

  • Benefits: Ensures the security of stored passwords and protects against dictionary, brute force, and collision attacks.

How the Project Works:

  1. The system uses the BCrypt algorithm to hash passwords entered by the user.

  2. When logging in, the entered password is compared with the stored hash in the database using the checkpw function.

  3. The project runs on GlassFish Server 4.1.1, providing a robust and secure environment for Java applications.'