Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Vigenère_Cipher {
- public static String encode(String key, String message) {
- StringBuilder newKey;
- key = key.toUpperCase();
- message = message.toUpperCase();
- if (key.length() < message.length()) {
- int i = 0;
- newKey = new StringBuilder();
- while (newKey.length() < message.length()) {
- if (i >= key.length()) {
- i = 0;
- newKey.append(key.charAt(i));
- }
- else {
- newKey.append(key.charAt(i));
- }
- i++;
- }
- }
- else if (key.length() > message.length()) {
- newKey = new StringBuilder(key.substring(0, message.length()));
- }
- else {
- newKey = new StringBuilder(key);
- }
- StringBuilder encodedMessage = new StringBuilder();
- String alphabets = "abcdefghijklmnopqrstuvwxyz".toUpperCase();
- for (int i=0;i<message.length();i++) {
- int index1 = alphabets.indexOf(message.charAt(i));
- int index2 = alphabets.indexOf(newKey.charAt(i));
- encodedMessage.append(alphabets.charAt((index1 + index2) % 26));
- }
- return encodedMessage.toString();
- }
- public static void main(String[] args) {
- System.out.println(encode("REDDIT", "TODAYISMYBIRTHDAY"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement