summaryrefslogtreecommitdiff
path: root/task2.c
blob: 1847103b48b1c99efa29679b8ae45357dfe26cbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "lib.h"


int main(int argc, char**argv)
{
	if (argc != 3)
		return 1;
	
	int length_arg_1 = strlen(argv[1]);
	int length_arg_2 = strlen(argv[2]);
	char *xor_string_tmp = malloc(length_arg_1+1);
	char *result = malloc(length_arg_1*2+1);
	char *str1 = malloc(length_arg_1+1);
	char *str2 = malloc(length_arg_2+1);

	decode_hex_string(argv[1], str1);
	decode_hex_string(argv[2], str2);
	xor_string(str1, str2, xor_string_tmp, length_arg_2, length_arg_1);
	hex_binary_to_string(xor_string_tmp, result, (length_arg_1/2));
	printf("%s\n", result);

	free(xor_string_tmp);
	free(result);
	free(str1);
	free(str2);

	return 0;
}