c语言改错,小宇初学C语言,老师给他布置了作业,要求他按照字符所在的位置和固定的位移来在字母表中循环移动字母,来实现一个简单的加密算法,可是他写了段程序,却始终达不到想要的结果,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 19:50:22
c语言改错,小宇初学C语言,老师给他布置了作业,要求他按照字符所在的位置和固定的位移来在字母表中循环移动字母,来实现一个简单的加密算法,可是他写了段程序,却始终达不到想要的结果,

c语言改错,小宇初学C语言,老师给他布置了作业,要求他按照字符所在的位置和固定的位移来在字母表中循环移动字母,来实现一个简单的加密算法,可是他写了段程序,却始终达不到想要的结果,
c语言改错,
小宇初学C语言,老师给他布置了作业,要求他按照字符所在的位置和固定的位移来在字母表中循环移动字母,来实现一个简单的加密算法,可是他写了段程序,却始终达不到想要的结果,你能帮他修正一下程序中的错误么
#include "stdlib.h"
//--------------------------Do Not Modify Start---------------------
unsigned short hash(char* InStr){
\x09unsigned int len;
\x09unsigned short Crc16Table[256];
\x09unsigned int i,j;
\x09unsigned short Crc;
\x09for (i = 0; i < 256; i++){
\x09\x09Crc = i;
\x09\x09for (j = 0; j < 8; j++){
\x09\x09\x09if(Crc & 0x1)
\x09\x09\x09\x09Crc = (Crc >> 1) ^ 0xA001;
\x09\x09\x09else
\x09\x09\x09\x09Crc >>= 1;
\x09\x09}
\x09\x09Crc16Table[i] = Crc;
\x09}
\x09
\x09Crc=0x0000;
\x09len = 23;
\x09for(i=0; i> 8) ^ Crc16Table[(Crc & 0xFF) ^ InStr[i]];
\x09}
\x09//Crc ^= 0x0000;
\x09return Crc;
}
int check(char *pKey) {
\x09if(hash(pKey) == 0x248e)
\x09\x09return 1;
\x09else
\x09\x09return 0;
}
char kkk[]="odskrwheoilxzjweorukjfc";
#define MOVE 20
//--------------------------Do Not Modify End---------------------
void main() {
\x09char c;
\x09int i,j;
\x09for(i=0;i

c语言改错,小宇初学C语言,老师给他布置了作业,要求他按照字符所在的位置和固定的位移来在字母表中循环移动字母,来实现一个简单的加密算法,可是他写了段程序,却始终达不到想要的结果,
j = (j+i-MOVE) % 26;
改为
if( j > MOVE )
j = (j - MOVE);
else
j = (j + 26 - MOVE);