#include <string.h>
#include <stdlib.h>
char *
string_crypt(const char *input, int len, const char *key)
{
char *output;
int i, n;
if(input == NULL)
return NULL;
output = malloc(len+1);
output[len] = '\0';
for(i=0, n=0; i<len; i++, n++) {
if(key[n] == '\0')
n = 0;
output[i] = input[i] ^ key[n];
}
return output;
}
void
string_crypt_free(char *output)
{
if(output != NULL)
free(output);
}