Как сделать преобразование строки в byte [] без потери целостности

Я знаю, как преобразовать строку в byte [] в C #. В этом конкретном случае я работаю со строковым представлением ключа HMAC-SHA256. Скажем, строковое представление этого ключа, которое я получаю из OP OpenID:

"81FNybKWfcM539vVGtJrXRmoVMxNmZHY3OgUro8+pZ8="

Я конвертирую его в byte [] следующим образом:

byte[] myByteArr = Encoding.UTF8.GetBytes("81FNybKWfcM539vVGtJrXRmoVMxNmZHY3OgUro8+pZ8=");

Проблема, с которой я сталкиваюсь, заключается в том, что кажется, что исходные данные теряются. Если я возьму байтовый массив из предыдущего шага и конвертирую его обратно в строку, он будет отличаться от исходной строки.

string check = Convert.ToBase64String(myByteArr);

check закончится следующим:

"ODFGTnliS1dmY001Mzl2Vkd0SnJYUm1vVk14Tm1aSFkzT2dVcm84K3BaOD0="

что явно не то же самое, что исходное строковое представление, с которого я начал .

5
задан Tim Cooper 15 May 2011 в 01:34
поделиться