c语言加密解密

Cyj_starter 2015-04-15 05:43:53
#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加密新的明文,输入2对刚加密的密文进行解密,输入3退出系统:\n");
printf("请输入命令符:\n");
scanf("%d",&result);
}
return 0;
}


如果我输入一个字符串为“yujing”,得到~{qqwq
为什么会得到“~”还有“{”?
谢谢!!!
...全文
250 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-04-16
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
此后三年 2015-04-16
  • 打赏
  • 举报
回复
y asc码的值是121, ~的值是126, Text[i]=cryptograph[i]-i-5; //i = 0; 这样算出来的,后面的也是,明白了吧
baidu_15173959 2015-04-15
  • 打赏
  • 举报
回复
和你输入的字符,及设置的的加密方式有关,总之还是asicll
苏叔叔 2015-04-15
  • 打赏
  • 举报
回复
变换ascii后的字符
一根烂笔头 2015-04-15
  • 打赏
  • 举报
回复
加密后字符数值就是它而已

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧