移位加密与解密

来源:百度知道 编辑:UC知道 时间:2024/06/07 19:30:34
某个公司利用报文传递数据,采用移位加密与解密
说明:数据内容(限于英文字母文章或者是字符数组)以字符形式读入,根据密钥k(用户从键盘输入)将对应字符进行移位操作即可,解密时移动方向相反。请输出加密数据然后按规则复原。(设计思路是什么,要用到什么方面的c语言知识)

#include<stdio.h>
#define M 100
main()
{
char c[100], key[100];
int lenc, lenk, i=0, a;
printf("请选择您需要的操作:\n");
printf("1. 加密\n");
printf("2. 解密\n");
printf("您的选择是:");
scanf("%d",&a);
switch (a)
{
case 1:
{
printf("请输入原文:");
getchar();
gets(c);
lenc = strlen(c);
printf("请输入密码:");
getchar();
gets(key);
lenk = strlen(key);
for (i=0; i<lenc; i++)
c[i]= c[i]<<lenk;
printf("对应密文是:%s\n", c);
}
break;
case 2:
{
printf("请输入密文:");
getchar();
gets(c);
lenc = strlen(c);
printf("请输入密码:");
getchar();
gets(key);
lenk = strlen(key);
for (i=0;i<lenc; i++)
c[i]= c[i]>>lenk;
printf("对应原文是:%s\n", c);
}