⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 用于加密解密密码
💻
字号:
#include<stdio.h>
#include<process.h>
#include<string.h>
#include<malloc.h>

int jiamibox[5]={2,3,1,5,4};      //加密置换矩阵
int jiemibox[5]={3,1,2,5,4};         //逆置换矩阵
char in[65535];        //定义明文字符串变量
char out[65535];        //定义密文字符串变量
char ch;

void jiami();          //加密函数
void jiemi();          //解密函数

//加密函数
void jiami()
{
//输入明文字符串
int i=0,l,c,a;
printf("\n输入要加密的明文:\n");
getchar(ch);
gets(in);
//不足5位补齐5位
a=strlen(in)/5;
for(l=strlen(in);l<=(a+1)*5;l++)
{
   in[l]=' ';
}
//加密过程
for(i=0;i<65535;i++)
{
   c=i/5;
   out[jiamibox[i%5]+c*5-1]=in[i];
}                                 
//输出
printf("您所需要加密的明文为:");
for(i=0;i<65535;i++)
{
   if(in[i]!='\0')
   {
    printf("%c",in[i]);
   }
   else
   {
    break;
   }
}
printf("\n");
printf("加密后的密文为:");
for(i=0;i<65535;i++)
{
   if(in[i]!='\0')
   {
    printf("%c",out[i]);
   }
   else
   {
    break;
   }
}
printf("\n");
}
//解密函数
void jiemi()
{
int i,c;
printf("请输入要解密的密文:");
getchar(ch);
gets(in);
for(i=0;i<65535;i++)
{
   c=i/5;
   out[jiemibox[i%5]+c*5-1]=in[i];
}

printf("您所需要解密的密文为:");
for(i=0;i<65535;i++)
{
   if(in[i]!='\0')
   {
    printf("%c",in[i]);
   }
   else
   {
    break;
   }
}
printf("\n");
printf("解密后的明文为:");
for(i=0;i<65535;i++)
{
   if(in[i]!='\0')
   {
    printf("%c",out[i]);
   }
   else
   {
    break;
   }
}
printf("\n");
}
//主函数
void main()
{
int choose;
list:
printf("\n***********欢迎使用置换密码功能***********\n\n");
printf("请选择:"); 
printf("1、加密      ");
printf("2、解密      ");
printf("3、退出\n");
scanf("%d",&choose);
if(choose==1)
{
   jiami();
   goto list;
}
else if(choose==2)
{
   jiemi();
   goto list;
}
else if(choose==3)
{
   exit(1);
}
else
{
   printf("您输入的序号不正确,请重新输入:\n");
   goto list;
} 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -