#求助!为什么不能进行中文加密呢?只能字符加密
//加密
int main(void)
{
FILE* fp1 = fopen("F:\\VS\\BiJi\\文件加密.txt", "r");
FILE* fp2 = fopen("F:\\VS\\BiJi\\文件加密_加密.txt", "w");
if (!fp1 || !fp2)
return -1;
char* p = (char*)malloc(sizeof(char) * 100);
//int* p = (int*)malloc(sizeof(int) * 100);
srand((size_t)time(NULL));
while (!feof(fp1))
{
memset(p, 0, 100);
fgets(p, 100, fp1);
}
for (int i = 0; i < strlen(p); i++)
{
printf("%d\n", p[i]);
short value = p[i];
printf("%d\n", value);
value += (rand() % 32 + 1) * 256;
value *= -1;
fprintf(fp2, "%d", value);
}
fclose(fp1);
fclose(fp2);
free(p);
return 0;
}
#VS编译
加密结果是:
文件加密.txt内容:
#思路是:低位char转高位short,高位添加随机数,可以形成一个新的值,达到加密效果