This is a java program to implement Caesar Cipher Encryption algorithm. This is the simplest of all, where every character of the message is replaced by its next 3rd character.
Here is the source code of the Java Program to Implement Caesar Cypher. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
package com.maixuanviet.setandstring;
import java.util.Scanner;
public class CaesarCipher
{
public static final String ALPHABET = "abcdefghijklmnopqrstuvwxyz";
public static String encrypt(String plainText, int shiftKey)
{
plainText = plainText.toLowerCase();
String cipherText = "";
for (int i = 0; i < plainText.length(); i++)
{
int charPosition = ALPHABET.indexOf(plainText.charAt(i));
int keyVal = (shiftKey + charPosition) % 26;
char replaceVal = ALPHABET.charAt(keyVal);
cipherText += replaceVal;
}
return cipherText;
}
public static String decrypt(String cipherText, int shiftKey)
{
cipherText = cipherText.toLowerCase();
String plainText = "";
for (int i = 0; i < cipherText.length(); i++)
{
int charPosition = ALPHABET.indexOf(cipherText.charAt(i));
int keyVal = (charPosition - shiftKey) % 26;
if (keyVal < 0)
{
keyVal = ALPHABET.length() + keyVal;
}
char replaceVal = ALPHABET.charAt(keyVal);
plainText += replaceVal;
}
return plainText;
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter the String for Encryption: ");
String message = new String();
message = sc.next();
System.out.println(encrypt(message, 3));
System.out.println(decrypt(encrypt(message, 3), 3));
sc.close();
}
}
Output:
$ javac CaesarCipher.java $ java CaesarCipher Enter the String for Encryption: Sanfoundry vdqirxqgub sanfoundry
Related posts:
Finding the Differences Between Two Lists in Java
Java Program to Implement LinkedBlockingQueue API
Java toString() Method
Java Program to Implement Wagner and Fisher Algorithm for online String Matching
Service Registration with Eureka
Java Program to Create the Prufer Code for a Tree
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Getting Started with Forms in Spring MVC
Java – Reader to String
The Thread.join() Method in Java
Java Program to Implement Gale Shapley Algorithm
Java Program to Implement Coppersmith Freivald’s Algorithm
Jackson – Decide What Fields Get Serialized/Deserialized
Period and Duration in Java
Java Program to Implement Word Wrap Problem
Java Program to Generate Random Numbers Using Multiply with Carry Method
Compact Strings in Java 9
Java Program to Implement Binary Tree
Guide to the Synchronized Keyword in Java
Form Validation with AngularJS and Spring MVC
Creating a Web Application with Spring 5
Spring Boot - Flyway Database
Introduction to Spring MVC HandlerInterceptor
Java Program to Generate Randomized Sequence of Given Range of Numbers
Get the workstation name or IP
Spring Boot - Scheduling
Java Program to Represent Graph Using Adjacency List
A Quick Guide to Using Keycloak with Spring Boot
Java Program to Implement Bresenham Line Algorithm
Lớp Properties trong java
Simple Single Sign-On with Spring Security OAuth2
Các kiểu dữ liệu trong java