📄 message.h
字号:
#include"stdio.h"
#include"stdlib.h"
#include "time.h"
#define MAX 100
#define MIN 50
int randomN()
{
int a;
srand((int)time(0));
a = rand()%MAX; //rand()函数用于生成随机数
return a;
}
void getkey(int key[],int m)
{
int i;
for(i=1;i<=7;i++)
{
//改变其种子数 使其每次产生的随机数都不相同
srand((int)time(0));
*key=randomN()%MAX;
*(key+i)=(randomN()^key[i-1]%MAX+MIN)%MAX;
}
}
//将ASCLL码装换成二进制码
void inttfmbyte(int (*p1)[8],int p2[],int m)
{
int i,j;
for( i=0; i<m; i++)
for(j=0;j<m;j++)
{
p1[i][m-1-j]=p2[i]%2;
p2[i]/=2;
}
}
//将二进制码转换成ASCLL码
void bytetfmint(int (*p1)[8],int p2[],int m)
{
int i,j,k,n=0;
for(i=0;i<m;i++)
for(j=0;j<m;j++)
{
n=p1[i][j];
for(k=1;k<m-j;k++)
n=n*2;
p2[i]+=n;
}
}
//将明文转换成密文
void mtoc(int (*p1)[8],int (*p2)[8],int (*p3)[8],int m)
{
int i,j;
for(i=0;i<m;i++)
for(j=0;j<m;j++)
p3[i][j]=(p1[i][j]+p2[i][j])%2;
}
//将密文转换成明文
void ctom(int (*p1)[8],int (*p2)[8],int (*p3)[8],int m)
{
int i,j;
for(i=0;i<m;i++)
for(j=0;j<m;j++)
{
if(p1[i][j]==p2[i][j])
p3[i][j]=0;
else
p3[i][j]=1;
}
}
//将字符串转换成其ASCALL 值
long chartfmint(char str)
{
long a;
a=(long)(str);
return a;
}
//将其ASCALL 值转换成字符串
char inttfmchar(long i)
{
char str;
str=(char)(i);
return str;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -