Hi,
I have two .dat files which contains ASCII character. I am trying to read the characters from the file, XOR them and then try to output the result in a .dat file.
Code:
//i will be user as counter index, _n will be used as the minimum length of the files - cipher1.dat,cipher2.dat//_size will be used to temporarily used to store the length of the stream//_cipher1 and _cipher 2 are the byte arrays used to store the cipher textint i = 0; int _n = 0; int _size = 0;byte[] _cipher1; byte[] _cipher2;
//Reading cipher1.dat file in terms of bytesFileStream _fsopen = new FileStream("cipher1.dat", FileMode.Open); _size = (int)_fsopen.Length;_cipher1 = new byte[_size];for (i = 0; i < _size; i++){_cipher1[i] = (byte)_fsopen.ReadByte(); }
//Reading cipher2.dat file_fsopen = new FileStream("cipher2.dat", FileMode.Open);_size = (int)_fsopen.Length;_cipher2 = new byte[_size];for (i = 0; i < _size; i++){_cipher2[i] = (byte)_fsopen.ReadByte();
}
//Calculating the XOR of the two cipher text_n = Math.Min(_cipher1.Length,_cipher2.Length);FileStream _fswrite = new FileStream("plainxor.dat", FileMode.Create); for (i = 0; i < _n; i++){int _xor = (int)_cipher1[i] ^ (int)_cipher2[i];_fswrite.WriteByte((byte)_xor);}
_fsopen.Close();_fswrite.Close();
However, I am not sure if my code is correct as I am suspecting the garbage characters in the output file. Can anyone help me as I this is my first time playing with ASCII characters and byte manipulation? Please ignore the identation as it got bad due to copy - paste of the code