十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C语言代码和运行结果如下:
雨山网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
输出符合示例,加解密均正确,望采纳~
附源码链接:字符串加解密
void sc(char *fp, char *key, int Flen, int Klen);
这是对文件内容进行异或加密运算的函数
fp 是从文件读取的字符串内容
key 是从密码字符串内容
Flen 是文件内容字符串长度
Klen 是密码长度
void sc(char *fp, char *key, int Flen, int Klen)
{
int i, j, k;
for (i = 0; i Flen; i += Klen) //从开始循环到文件字符串结束,步长是密码长度
for(j = i, k = 0; k Klen; j++, k++) //从密码字符串开始逐个字节循环,步长是密码长度
fp[j] ^= key[k]; //进行异或加密
fp[i] = '\0'; //字符串最后添加结束符
printf("%s\n", fp); //显示加密后字符串
}
异或加密以后再做一次就是解密
最简单的加密思想:用rand()产生一个随机数,然后将文件中的每个字符依次与这个随机数进行异或,解密时只需要再进行异或运算即可。
原理 (a^b)^b = a (^为异或运算)