My encryption application (written in C# & GTK# and using Rijndeal) takes a string from a textview to encrypt, and returns the result in a Byte array. I then use Encoding.Unicode.GetString() to convert it to a string, but my output doesn’t look right, it seems to contain invalid characters: `zźr[� ��ā�֖�Z�_����
W��h�.
I’m assuming that the encoding for the textview is not Unicode, but ASCII doesn’t work either. How can I ensure that the output is not invalid? Or is my approach wrong to begin with?
I’m new to C# and not very experienced with programming in general (I have decent skill in PHP and know a little JavaScript, but that’s about it) so if you could baby-down your answers it would be much appreciated.
Thank you in advance for taking the time to assist me.
While every string can be represented as a sequence of bytes using UTF-16, not every sequence of bytes represents a UTF-16 encoded string. Especially if the sequence of bytes is the result of an encryption process.
You can use the Convert.ToBase64String Method to convert the sequence of bytes to a Base64 string.