EXOyyds!!! 2022-04-05 22:19 采纳率: 42.9%
浏览 214
已结题

根据密文表与明文表给输入的明文加密

密码表加密是一种十分常用的密码加密方法,加密的原理是根据明文表和密码表,加密形成密文,根据密文和密码表解密,读出明文。

要求设计自己的密码表,不允许彼此相同密码表,明文表与密码表可创建字符数组表示,本题密码表取下:

char arr1[] = "abcdefghijklmnopqrstuvwxyz1234567890";
char arr2[] = "18ac4y7bxuiep23hjs5ofwv0zdl9gkm6nqrt";
即1是a的密文,8是b的密文。

需要用户输入待加密明文字符串数据(由小写英文字符和数字组成,长度不超过100),字符串数据需要创建字符数组存放。输出根据密码表加密后的数据。

例如输入:abc90

程序输出:18art

  • 写回答

2条回答 默认 最新

  • 关注

    根据输入的字符找对应关系即可啊。
    C++代码:

    #include <iostream>
    using namespace std;
    int main()
    {
        char arr1[] = "abcdefghijklmnopqrstuvwxyz1234567890";
        char arr2[] = "18ac4y7bxuiep23hjs5ofwv0zdl9gkm6nqrt";
        char buf[1000];
        int i,j;
        cin >> buf; //读入数据
        for (i = 0;buf[i]!= '\0';i++)
        {
            //查找buf[i]在arr1中的位置,然后输出arr2中对应位置的字符即为加密字符
            for(j=0;j<36;j++)
            {
                if(arr1[j]== buf[i])
                    break;
            }
            if(j<36)
                cout << arr2[j];
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日
  • 创建了问题 4月5日

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上