Project

Encryption-Decryption (Java)

Medium
2883 completions
~ 36 hours
4.4

Gradually get familiar with Java, paying special attention to working with files and the command line.

Provided by

JetBrains Academy JetBrains Academy

About

Privacy is an important matter is the realm of the Internet. When sending a message, you want to be sure that no-one but the addressee with the key can read it. The entirety of the modern Web is encrypted - take https for example! Don’t stay behind: hop on the encryption/decryption train and learn the essential basics while implementing this simple project.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Learn to input the data and encrypt it, replacing the letters.
Learn to encrypt messages with a numeric key, using the Caesar cypher.
Encrypting a message is only half of the deal: now learn to decrypt it as well, using a standard Unicode table
Practice working with the command line, using it for passing the mode, the key and the string.
Work with files: learn to store your data in a file.
Add the possibility to choose a specific encryption algorithm: Ceasar or Unicode.

Reviews

Dmytro Melnyk avatar
Dmytro Melnyk
1 month ago
I really enjoyed this project. It was a great way to reinforce the Factory Method, file handling, command-line arguments, and encryption logic in one practical application. I especially appreciate projects where previous topics come together into a complete solution. The only point that confused ...
Alieksiei Stoianov avatar
Alieksiei Stoianov
2 months ago
some security tips, such as encryption and some methods how to do it
Natali Abrahamyan avatar
Natali Abrahamyan
4 months ago
During this project, I learned how to build a command-line Java program that can work with different arguments such as -mode, -key, -data, -in, -out, and -alg. I also learned the difference between the Unicode algorithm and the shift algorithm, especially how the shift algorithm should only encode E ...

4.4

Learners who completed this project within the Java Backend Developer (Spring Boot) course rated it as follows:
Usefulness
4.5
Fun
4.3
Clarity
4.4