异或加密
### 题目描述
**本题为代码补全填空题,请将题目中给出的源代码补全,并复制到右侧代码框中,选择对应的编译语言(C/Java)后进行提交。若题目中给出的源代码语言不唯一,则只需选择其一进行补全提交即可。复制后需将源代码中填空部分的下划线删掉,填上你的答案。提交后若未能通过,除考虑填空部分出错外,还需注意是否因在复制后有改动非填空部分产生错误。**
在对文本进行简单加密的时候,可以选择用一个 $n$ 位的二进制数,对原文进行异或运算。
解密的方法就是再执行一次同样的操作。
加密过程中 $n$ 位二进制数会循环使用。并且其长度也可能不是 8 的整数倍。
下面的代码演示了如何实现该功能。
请仔细阅读,填写空缺的代码(下划线部分)。
### 源代码
**C**
```c
#include
#include
#include
void f(char* buf, unsigned char* uckey, int n)
{
int i;
for(i=0; i