工具类:凯撒移位密码

开始

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"));//解密
    }
}

结束

猜你喜欢

转载自blog.csdn.net/liguoqingxjxcc/article/details/81666636
今日推荐