【加密教程】:加密教程三之多字母替换

前言

在教程二中介绍了凯撒加密,在凯撒加密的过程中,我们学会了对每个字母进行转化。
这种方法的缺点是容易通过频度扫描得出最终解~
所以,在这一节介绍一种叫做多字母替换的方法

对每个字符串的偶数字符进行加密,其余字符都保持原样,这样就不容易破解密码了,这种方法叫做多字母替换

实现方法

参考系列教程2,只是在判断字符的时候多个判断而已,代码里有注释

代码

#include <iostream>
using namespace std;
void main()
{
    string s;
    cin>>s;
    for(int i=0;i<s.length();i++){
        if(i%2==0){   //判断
            if((s[i]>='a'&&s[i]<'x')||(s[i]>='A'&&s[i]<'X')){
                cout<<(char)(s[i]+3);
            }
            else cout<<(char)(s[i]+3-26);
        }
        else cout<<s[i];
    }
}

运行截图

结果分析,第一行为输入,第二行为输出

    这样能看到,偶数字节都没有发生变化,奇数字节加了3

你可能感兴趣的:(加密,代码,注释,密码,破解)