凯撒加密法简介
- 凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k。举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d;b会被替换成e;依此类推。字母表末尾将回卷到字母表开头。于是,w会被替换为z,x会被替换为a。
- 遗憾的是凯撒加密法箱单容易破解。字母的移动只有26种可能,要破解密码,只需尝试各种密钥值,直到有一种可行为止。
- 使用重复密钥可以对这种编码方式进行改进。这时不是将每个字母移动常数位,而是利用一个密钥值列表,将各个字母移动不同的位数。如果消息比密钥值列表更长,可以从头再次利用这个密钥列表。例如,假设密钥值列表为:
3 1 7 4 2 5
那么第一个字母移动3位,第二个字母移动1位,将第6个字母移动5位之后,会从头再次使用这个密钥列表。
代码实现
import java.util.LinkedList;
import java.util.Queue;
/**
* 凯撒加密法
* @author Administrator
*
*/
public class</