初次讲完位运算,基本匀运算法则懂了。
最感兴趣的是运用位运算来加密。
照书上手试试
代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
int i,j;
int key;
char p[80]="";
char c[80]="";
char key1[80]="";
printf("input please\n");
gets(p);
printf("key please\n");
gets(key1);
key=strlen(key1);
for(i=0;p[i]!='\0';i+=key)
{
for(j=0;j<key;j++)
{
c[j+i]=p[i+j]^key1[j];
}
}
printf("加密后:%s\n",c);
printf("请输入密钥:\n");
gets(key1);
key=strlen(key1);
for(i=0;c[i]!='\0';i+=key)
{
for(j=0;j<key;j++)
{
p[i+j]=c[i+j]^key1[j];
}
}
printf("解密后明文:%s\n",p);
return 0;
}
仅作分享。