• Labs icon Lab
  • Security
Google Cloud Platform icon
Labs

Password Protection for Java Applications

In this lab, you’ll practice securing password storage and preventing brute-force attacks in a Spring Boot application. When you’re finished, you’ll have a working understanding of how to use BCrypt for secure password hashing and implement rate limiting to protect login endpoints.

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Beginner
Duration
Clock icon 55m
Published
Clock icon May 09, 2025

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Getting Started in the Lab Environment

    Here are the initial instructions and explanation of the lab environment. Read this while your environment is busy creating itself from nothing. Yes, this violates physics; we know. How fun!

  2. Challenge

    Enhancing Password Protection with BCrypt

    You'll review a login microservice that uses weak MD5 password hashing. Then, you'll examine its secure remediation using BCrypt, and learn how to effectively protect user passwords against common attacks.

  3. Challenge

    Mitigating Brute-Force Attacks with Rate Limiting

    You'll examine how rate limiting was added to a Spring Boot login endpoint to defend against brute-force attacks. You will see how Bucket4j and Ehcache are used to secure the authentication process effectively.

  4. Challenge

    Knowledge Check for Password Protection for Java Applications

    Assess your understanding of secure password hashing with BCrypt and login rate limiting techniques based on what you practiced in this lab. Answer the multiple-choice questions to test your knowledge of these core security vulnerabilities and defenses.

Sahil Gupta is highly skilled in Product Security, specializing in DevSecOps and Application Security. They are passionate about enhancing security posture & delivering robust and secure solutions.

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.