凯撒加密解密算法

博客介绍了凯撒加密算法,它由古罗马凯撒发明,通过字母移动一定位数实现加密和解密。解密需双方知晓密钥,若密钥泄露则需修改。还提到可用频度分析法破解,即多次尝试偏移位数,在现代计算机中,该加密方式较为简单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

凯撒加密算法

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值