public class Cript{ public static String encript( String texto ){ char[] temp = texto.toCharArray(); int tamtexto = texto.length() - 1; int j = tamtexto; int i; char tmp; //Inverte o vetor trocando os números for( i = 0; i < j; i++, j-- ){ switch( temp[i] ){ case '0' : temp[i] = '9'; break; case '1' : temp[i] = '5'; break; case '2' : temp[i] = '8'; break; case '3' : temp[i] = '6'; break; case '4' : temp[i] = '7'; break; case '5' : temp[i] = '0'; break; case '6' : temp[i] = '4'; break; case '7' : temp[i] = '1'; break; case '8' : temp[i] = '3'; break; case '9' : temp[i] = '2'; break; case 'a' : temp[i] = 'z'; break; case 'b' : temp[i] = 'n'; break; case 'c' : temp[i] = 'y'; break; case 'd' : temp[i] = 'o'; break; case 'e' : temp[i] = 'x'; break; case 'f' : temp[i] = 'p'; break; case 'g' : temp[i] = 'w'; break; case 'h' : temp[i] = 'q'; break; case 'i' : temp[i] = 'v'; break; case 'j' : temp[i] = 'r'; break; case 'k' : temp[i] = 'u'; break; case 'l' : temp[i] = 's'; break; case 'm' : temp[i] = 't'; break; case 'n' : temp[i] = 'a'; break; case 'o' : temp[i] = 'm'; break; case 'p' : temp[i] = 'b'; break; case 'q' : temp[i] = 'l'; break; case 'r' : temp[i] = 'c'; break; case 's' : temp[i] = 'k'; break; case 't' : temp[i] = 'd'; break; case 'u' : temp[i] = 'j'; break; case 'v' : temp[i] = 'e'; break; case 'w' : temp[i] = 'i'; break; case 'x' : temp[i] = 'f'; break; case 'y' : temp[i] = 'h'; break; case 'z' : temp[i] = 'g'; break; case 'A' : temp[i] = 'Z'; break; case 'B' : temp[i] = 'N'; break; case 'C' : temp[i] = 'Y'; break; case 'D' : temp[i] = 'O'; break; case 'E' : temp[i] = 'X'; break; case 'F' : temp[i] = 'P'; break; case 'G' : temp[i] = 'W'; break; case 'H' : temp[i] = 'Q'; break; case 'I' : temp[i] = 'V'; break; case 'J' : temp[i] = 'R'; break; case 'K' : temp[i] = 'U'; break; case 'L' : temp[i] = 'S'; break; case 'M' : temp[i] = 'T'; break; case 'N' : temp[i] = 'A'; break; case 'O' : temp[i] = 'M'; break; case 'P' : temp[i] = 'B'; break; case 'Q' : temp[i] = 'L'; break; case 'R' : temp[i] = 'C'; break; case 'S' : temp[i] = 'K'; break; case 'T' : temp[i] = 'D'; break; case 'U' : temp[i] = 'J'; break; case 'V' : temp[i] = 'E'; break; case 'W' : temp[i] = 'L'; break; case 'X' : temp[i] = 'F'; break; case 'Y' : temp[i] = 'H'; break; case 'Z' : temp[i] = 'G'; break; } tmp = temp[i]; temp[i] = temp[j]; temp[j] = tmp; } j = tamtexto; //Troca de 3 em tres for( i = 0; i < tamtexto; i += 3 ){ j = i + 1; tmp = temp[i]; temp[i] = temp[j]; temp[j] = tmp; } //Troca os pares novamente for( i = 0; i < tamtexto; i += 2 ){ j = i + 1; tmp = temp[i]; temp[i] = temp[j]; temp[j] = tmp; } return String.valueOf( temp ); } public static String decript( String texto ){ char[] temp = texto.toCharArray(); int tamtexto = texto.length() - 1; int j = tamtexto; int i; char tmp; //Troca os pares for( i = 0; i < tamtexto; i += 2 ){ j = i + 1; tmp = temp[i]; temp[i] = temp[j]; temp[j] = tmp; } //Troca de tres em tres for( i = 0; i < tamtexto; i += 3 ){ j = i + 1; tmp = temp[i]; temp[i] = temp[j]; temp[j] = tmp; } j = tamtexto; //Desinverte voltando os números for( i = 0; i < j; i++, j-- ){ tmp = temp[i]; temp[i] = temp[j]; temp[j] = tmp; switch( temp[i] ){ case '0' : temp[i] = '5'; break; case '1' : temp[i] = '7'; break; case '2' : temp[i] = '9'; break; case '3' : temp[i] = '8'; break; case '4' : temp[i] = '6'; break; case '5' : temp[i] = '1'; break; case '6' : temp[i] = '3'; break; case '7' : temp[i] = '4'; break; case '8' : temp[i] = '2'; break; case '9' : temp[i] = '0'; break; case 'a' : temp[i] = 'n'; break; case 'b' : temp[i] = 'p'; break; case 'c' : temp[i] = 'r'; break; case 'd' : temp[i] = 't'; break; case 'e' : temp[i] = 'v'; break; case 'f' : temp[i] = 'x'; break; case 'g' : temp[i] = 'z'; break; case 'h' : temp[i] = 'y'; break; case 'i' : temp[i] = 'w'; break; case 'j' : temp[i] = 'u'; break; case 'k' : temp[i] = 's'; break; case 'l' : temp[i] = 'q'; break; case 'm' : temp[i] = 'o'; break; case 'n' : temp[i] = 'b'; break; case 'o' : temp[i] = 'd'; break; case 'p' : temp[i] = 'f'; break; case 'q' : temp[i] = 'h'; break; case 'r' : temp[i] = 'j'; break; case 's' : temp[i] = 'l'; break; case 't' : temp[i] = 'm'; break; case 'u' : temp[i] = 'k'; break; case 'v' : temp[i] = 'i'; break; case 'w' : temp[i] = 'g'; break; case 'x' : temp[i] = 'e'; break; case 'y' : temp[i] = 'c'; break; case 'z' : temp[i] = 'a'; break; case 'A' : temp[i] = 'N'; break; case 'B' : temp[i] = 'P'; break; case 'C' : temp[i] = 'R'; break; case 'D' : temp[i] = 'T'; break; case 'E' : temp[i] = 'V'; break; case 'F' : temp[i] = 'X'; break; case 'G' : temp[i] = 'Z'; break; case 'H' : temp[i] = 'Y'; break; case 'I' : temp[i] = 'W'; break; case 'J' : temp[i] = 'U'; break; case 'K' : temp[i] = 'S'; break; case 'L' : temp[i] = 'Q'; break; case 'M' : temp[i] = 'O'; break; case 'N' : temp[i] = 'B'; break; case 'O' : temp[i] = 'D'; break; case 'P' : temp[i] = 'F'; break; case 'Q' : temp[i] = 'H'; break; case 'R' : temp[i] = 'J'; break; case 'S' : temp[i] = 'L'; break; case 'T' : temp[i] = 'M'; break; case 'U' : temp[i] = 'K'; break; case 'V' : temp[i] = 'I'; break; case 'W' : temp[i] = 'G'; break; case 'X' : temp[i] = 'E'; break; case 'Y' : temp[i] = 'C'; break; case 'Z' : temp[i] = 'A'; break; } } return String.valueOf( temp ); } }