- Lab
- Security

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.

Path Info
Table of Contents
-
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!
-
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.
-
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.
-
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.
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.