凯撒加密的由古罗马大帝凯撒发明的,用来传递军事命令等信息,
凯撒加密算法
把字母移动一定的位数来实现加密和解密
比如A偏移3位就变成了D,用代码体现
public static void main(String[] args) {
char ch = 'A';
int ascii = ch;
int value = ch+3;//偏移3位
System.out.println("偏移后的值是="+value);
char newCh = (char) value;
System.out.println("偏移后对应的字符是="+newCh);
}
结果:
偏移后的值是=68
偏移后对应的字符是=D
如果是多个字符也很简单,就不再演示了,
凯撒解密算法
这个解密也很简单,比如上面是把字符A偏移了3位,那么这个3相当于是秘钥,
public static char decrypt(char ch){
int ascii = ch;
ascii-=3;
char newChar = (char) ascii;
return newChar;
}
其实双方只要知道自己约定的秘钥匙什么就很好解决,如果这个知道秘钥的背叛了 就很麻烦了,就要修改秘钥了.其实这种加密很弱的,
频度分析法破解
比如我上面把移动了3位,其实频度分析法破解就是尝试很多次破解它而已,是个体力活,如果我不知道,那么我把A从移动1到1000次试试,等,这个在现代的计算机中这种加密就是小儿科,