字符串的加密和解密(C语言)

字符串的加密和解密(C语言)

(2011-11-28 21:41:57)

思路:加密的方式是将字符串中每个字符加上它在字符串中的位置和一个偏移值5。

      以字符串“microsoft”为例,第一个字符m在字符串中的位置为0,那么它对应的密文是

     ‘m’+0+5,即r。

 

   下面为一个加密和解密的程序,在对一个指定的字符串加密之后,利用解密函数能够对密文解密,

   显示明文信息

 


#include <stdio.h>
#include <string.h>
int main()
{
 int result=1;
 int i;
 int count=0;
 char Text[128]={'\0'};
 char Cryptograph[128]={'\0'};

 while (1)
 {
  if (result==1)
  {
   printf("请输入要加密的明文:\n");
   scanf("%s",&Text);
   count=strlen(Text);
   for (i=0;i<count;i++)
    Cryptograph[i]=Text[i]+i+5;
   Cryptograph[i]='\0';
   printf("加密后的密文是:%s \n",Cryptograph);
  }
  else if (result==2)
  {
   count=strlen(Text);
   for (i=0;i<count;i++)
    Text[i]=Cryptograph[i]-i-5;
   Text[i]='\0';
   printf("解密后的明文是:%s \n",Text);
  }
  else if (result==3)
   break;
  else
   printf("请输入正确命令符:\n");

  printf(" 请输入:  1. 加密新的明文\n");
  printf("           2. 对刚加密的密文进行解密\n");
  printf("           3. 退出系统\n");

  printf("请输入命令符:\n");
  scanf("%d",&result);
 }
 return 0;
}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值