FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

package ciphers; import java.util.Scanner; /** * A Java implementation of Caesar Cipher. /It is a type of substitution cipher in which each letter * in the plaintext is replaced by a letter some fixed number of positions down the alphabet. / * * @author FAHRI YARDIMCI * @author khalil2535 */ public class Caesar { /** * Encrypt text by shifting every Latin char by add number shift for ASCII Example : A + 1 -> B * * @param message * @param shift * @return Encrypted message */ public static String encode(String message, int shift) { String encoded = ""; shift %= 26; final int length = message.length(); for (int i = 0; i < length; i++) { // int current = message.charAt(i); //using char to shift characters because ascii // is in-order latin alphabet char current = message.charAt(i); // Java law : char + int = char if (IsCapitalLatinLetter(current)) { current += shift; encoded += (char) (current > 'Z' ? current - 26 : current); // 26 = number of latin letters } else if (IsSmallLatinLetter(current)) { current += shift; encoded += (char) (current > 'z' ? current - 26 : current); // 26 = number of latin letters } else { encoded += current; } } return encoded; } /** * Decrypt message by shifting back every Latin char to previous the ASCII Example : B - 1 -> A * * @param encryptedMessage * @param shift * @return message */ public static String decode(String encryptedMessage, int shift) { String decoded = ""; shift %= 26; final int length = encryptedMessage.length(); for (int i = 0; i < length; i++) { char current = encryptedMessage.charAt(i); if (IsCapitalLatinLetter(current)) { current -= shift; decoded += (char) (current < 'A' ? current + 26 : current); // 26 = number of latin letters } else if (IsSmallLatinLetter(current)) { current -= shift; decoded += (char) (current < 'a' ? current + 26 : current); // 26 = number of latin letters } else { decoded += current; } } return decoded; } /** * @param c * @return true if character is capital Latin letter or false for others */ private static boolean IsCapitalLatinLetter(char c) { return c >= 'A' && c = 'a' && c

Back | FazBrowse Home | New Git URL