当前位置: 首页 > 知识库问答 >
问题:

使用密钥加密文本,同时保留大小写?

司空和悌
2023-03-14

任务:凯撒算法(密码(c))通过按密钥(k)位置“旋转”每个字母来加密消息。

实现:ci=(pi k)mod26,其中ci是密码,pi是明文,k是密钥。

我的伪代码:

  1. 从命令行参数获取密钥
  2. 将键(k)转换为整数
  3. 提示用户输入纯文本(pi)
  4. 对于每个纯文本字符,保留大小写(使用C中的isalpha、isupper和islower函数)。
  5. 最后,按键移动明文字符,例如“回家!”——“Hp Ipnf!”(如果键k=1,并保留字母的大写/小写,!保持不变!)*我正在努力解决这个问题
  6. 打印密文
int main (int argc, string argv[]) //get key from command line argument        
     { 
      if (argc != 2 || atoi(argv[1]) < 0)
       { 
        printf ("print valid key");
        return 1;
       }

       int k = atoi(argv[1]);

       string p = get_string(); //prompt for plaintext

      for (int i=0, n = strlen(p); i < n; i++)
       { if (isalpha('p'))
        {
         if (isupper('p'))
         {
          printf ("%c", p[i]);
         }
         if (islower('p'))
         {
          printf ("%c", p[i]);
         }
        }
       }

     c[i]=(p[i]+k)%26;
      printf ("%c", c[i]);
     }

共有1个答案

葛驰
2023-03-14

实际上,你写的代码只会返回你输入的纯文本值,这个问题的逻辑是c[i]=(p[i]k)&你必须使这个公式对大写和小写都有不同的应用,我可以给你一段代码,这将帮助你解决你的问题

intl=(p[i]-65k)和printf(“%c”,l65)

在这里,k是关键,我使用了字母的ASCII值,因为ASCII值是整数,我使用了整数来存储值并应用给定的操作。我之所以使用65,是因为大写字母“A”的ASCII值是65。由于我们必须打印字符,所以我们使用了%c来打印字符。这是大写的,如果这个答案有帮助,你可以用小写的字母做类似的事情,请点击这个旁边的箭头谢谢:)

 类似资料:
  • 在下面的代码中(也在http://play.golang.org/p/77fRvrDa4A但是在浏览器中需要“太长的时间来处理”)124字节版本的sourceText不会加密,因为1024的“消息对于RSA公钥大小来说太长”。它和更长的124字节sourceText版本可使用2048位密钥大小。 我的问题是如何准确计算rsa中的密钥大小。GenerateKey给定源文本的字节长度?(一个小段落大小

  • 我正在使用OpenSSL RSA API用服务器的公钥加密数据。 我使用的是,所以RSA应该可以轻松地用256字节的公钥加密255字节。但我收到了: 我改变dl(data_lenght)到256(只有1),我得到了这个: 我知道RSA可以用256个密钥编码255个字节。有什么问题吗?

  • 我目前正在用java编写一个加密消息传递服务,我使用的是bouncycastle PGP库。我编写了一个生成密钥对的测试程序,并对消息进行加密/解密。这已经工作了一段时间,但它最近在解密阶段停止了,给了我一个InvalidKeyException。 我做了一些研究,下载了JCE.jar文件,并将它们导入到我的项目中(通过Eclipse Project->Properties->add extern

  • 问题内容: 我正在编写一个用于传输文件的小型应用程序,或多或少地将其作为一种学习更多编程加密基础的方法。这个想法是生成一个RSA密钥对,交换公共密钥,并发送AES iv和密钥以进一步解密。我想用接收者的RSA公钥加密AES密钥,如下所示: 然后,我将密钥值写给接收器,并按如下方式解密: 在控制台的另一端,我将其作为输出: 此外,如果我创建一个大小为16的字节数组,并将cipher.doFinal(

  • 我正在尝试使用KMS和AWS加密SDK加密数据。查看AWS文档中提供的示例,似乎没有地方可以显式设置数据键。 使用由KMS生成的数据密钥使用AWS加密SDK加密数据的推荐方法是什么?

  • 问题内容: 我正在尝试编写一个使用RSA密钥对加密和解密纯文本文件的实用程序。RSA密钥是使用ssh-keygen生成的,并照常存储在.ssh中。 我在理解如何使用Go语言crypto和crypto / rsa软件包时遇到问题吗?有关这些文档的文档很少(甚至更多,因为我对加密还不熟悉),并且示例很少。我检查了rsa_test.go文件是否有任何线索,但这只会使我更加困惑。 简而言之,我试图从.ss