开始
package com.xjxcc.util;
/**
* 凯撒移位密码加密、解密
* @author Administrator
*
*/
public class CaesarsCodeUtils {
/**
* 加密
* @param letter 需要加密的字母传
* @return
*/
public static String encrypt(String letter){
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < letter.length(); i++) {
char x = letter.charAt(i);
if (x >= 'a' && x <= 'w') {
x = (char) (x + 3);
buffer.append(x);
}
if (x >= 'x' && x <= 'z') {
x = (char) (x - 23);
buffer.append(x);
}
if (x >= 'A' && x <= 'W') {
x = (char) (x + 3);
buffer.append(x);
}
if (x >= 'X' && x <= 'Z') {
x = (char) (x - 23);
buffer.append(x);
}
}
return buffer.toString();
}
/**
* 解密
* @param letter 需要解密的字母传
* @return
*/
public static String decode(String letter){
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < letter.length(); i++) {
char x = letter.charAt(i);
if (x >= 'a' && x <= 'c') {
x = (char) (x + 23);
buffer.append(x);
} else if (x >= 'd' && x <= 'z') {
x = (char) (x - 3);
buffer.append(x);
} else if (x >= 'A' && x <= 'C') {
x = (char) (x + 23);
buffer.append(x);
} else if (x >= 'D' && x <= 'Z') {
x = (char) (x - 3);
buffer.append(x);
}
}
return buffer.toString();
}
public static void main(String[] args) {
System.out.println(CaesarsCodeUtils.encrypt("abcdefg"));//加密
System.out.println(CaesarsCodeUtils.decode("defghij"));//解密
}
}
结束