按照映射关系进行加密,解密

版权声明:谢谢 https://blog.csdn.net/Waybyway/article/details/83896093

应该还有其他彩蛋

1代码

/*  字符串加密
加密 由S1向S2映射,这个关系由P1保存,P1(S1[i])-> S2[i],
解密 反向 P2(S2[i])-> S1[i],
利用ASCII码值,表明映射关系,先进行加密,加密后字符串解密
应该还有其他好玩的彩蛋
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
char s1[30]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char s2[30]={'n','g','z','q','t','c','o','b','m','u','h','e','l','k','p','d','a','w','x','f','y','i','v','r','s','j'};
char p1[26],p2[26];
int main(){
    char s[1000];
    int s_len,i;
    for(i=0;i<26;i++){
        p1[s1[i]-'a']=s2[i];
        p2[s2[i]-'a']=s1[i];
    }
    cout<<"请输入您想加密的字符串:"<<endl;
    cin>>s;
    s_len=strlen(s);
    for(i=0;i<s_len;i++){
        s[i]=p1[s[i]-'a'];
    }cout<<"加密后字符串:"<<endl<<s<<endl;
    for(i=0;i<s_len;i++){
        s[i]=p2[s[i]-'a'];
    }cout<<"原字符串:"<<endl<<s;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Waybyway/article/details/83896093