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:
Java Program to Represent Graph Using Linked List
Java Program to Implement Adjacency List
Java Program to Find kth Smallest Element by the Method of Partitioning the Array
Logout in an OAuth Secured Application
Hướng dẫn Java Design Pattern – Null Object
Lập trình hướng đối tượng (OOPs) trong java
Model, ModelMap, and ModelAndView in Spring MVC
Guide to UUID in Java
Java Program to Find Nearest Neighbor Using Linear Search
Spring Data MongoDB – Indexes, Annotations and Converters
@DynamicUpdate with Spring Data JPA
Converting Between Byte Arrays and Hexadecimal Strings in Java
Using the Not Operator in If Conditions in Java
Java Web Services – JAX-WS – SOAP
So sánh HashMap và HashSet trong Java
Spring Cloud – Adding Angular
Spring Security Authentication Provider
Jackson JSON Views
How to Return 404 with Spring WebFlux
How to Define a Spring Boot Filter?
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Converting a Stack Trace to a String in Java
Hướng dẫn Java Design Pattern – Strategy
Spring Boot - Web Socket
How to Find an Element in a List with Java
Introduction to Spring Method Security
Java Program to Implement the Bin Packing Algorithm
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Java Program to Implement Strassen Algorithm
Java Program to Implement ScapeGoat Tree
Merging Streams in Java
Zipping Collections in Java