凯撒加密解密算法

凯撒加密的由古罗马大帝凯撒发明的,用来传递军事命令等信息,

凯撒加密算法

把字母移动一定的位数来实现加密和解密

比如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次试试,等,这个在现代的计算机中这种加密就是小儿科,


版权声明:本文为coderinchina原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。