每一个汉字的代码占用两个字节,因此可以通过交换这两个字节的前后顺序对汉字进行加密。设计一程序,它输入一汉字字符串,先对该字符串加密并显示加密后的效果,然后再解密并显示解密后的效果(解密后的效果应与输入的字符串相同)。
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main()
...{
char test[]="这个是一个测试。";
char Encrypt[20]=...{0}, Decrypt[20]=...{0};
int i, j;
printf("The original string is: %s ", test);
//Encrypt
for(i=0; i<strlen(test); i+=2)
...{
Encrypt[i]=test[i+1];
Encrypt[i+1]=test[i];
}
printf("Encrypted: %s ", Encrypt);
//Decrypt
strcpy(Decrypt, Encrypt);
for(i=0; i<strlen(Encrypt); i+=2)
...{
Decrypt[i]=Encrypt[i+1];
Decrypt[i+1]=Encrypt[i];
}
printf("Decrypt: %s ", Decrypt);
printf(" ");
system("PAUSE");
return 0;
}
本文介绍了一个简单的程序,该程序能够通过交换汉字编码的两个字节来实现加密和解密的功能。程序首先定义了一个测试字符串,然后通过遍历字符串并对每个汉字的字节进行位置互换来完成加密过程。随后展示加密后的结果,并通过同样的方法恢复原始字符串。

被折叠的 条评论
为什么被折叠?



