展厅3D项目实现方案

凯撒密码 凯撒密码作为一种最为古老的**对称加密体制,通过把字母移动一定的位数来实现加密和解密。**明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,因此,位数就是凯撒密码加密和解密的密匙。 凯撒密码的简单demo实现 public class Caesar { public static void main(String[] args) { //需要加密的数据 String enc = "bravewh"; //需要解密的数据 String dec = "eudyhzk"; //密匙,即偏移量 int key = 3; //举例,用来验证统计字符串出各字符出现的字数 String str = "asdasgasdasdad adawdawd1112212ad"; //打印 System.out.println("加密后:"+encrypt(enc, 3)); System.out.println("解密后:"+decrypt(dec, 3)); } //加密方法 public static String encrypt(String enc, int key) { //得到字符串里的每一个字符 char[] array = enc.toCharArray(); for (int i = 0; i < array.length; ++i) { //字符转换成 ASCII 码值 int ascii = array[i]; //字符偏移,例如 a->b ascii = ascii + key; //ASCII 码值转换为 char char newChar = (char) ascii; //替换原有字符 array[i] = newChar; //以上 4 行代码可以简写为一行 //array[i] = (char) (array[i] + key); } //字符数组转换成 String return new String(array); } //解密方法 public static String decrypt(String input, int key) { //得到字符串里的每一个字符 char[] array = input.toCharArray(); for (int i = 0; i < array.length; ++i) { //字符转换成 ASCII 码值 int ascii = array[i]; //恢复字符偏移,例如 b->a ascii = ascii - key; //ASCII 码值转换为 char char newChar = (char) ascii; //替换原有字符 array[i] = newChar; //以上 4 行代码可以简写为一行 //array[i] = (char) (array[i] - key); } //字符数组转换成 String return new String(array); } 则此时,运行,打印结果为: ...

2017-02-28 · 2 分钟 · 383 字