Я знаю, как преобразовать строку в байт [] в C #. В данном конкретном случае я работаю со строковым представлением ключа HMAC-SHA256. Допустим, строковое представление этого ключа, которое я получаю из OP OpenID:
"81FNybKWfcM539vVGtJrXRmoVMxNmZHY3OgUro8+pZ8="
Я конвертирую его в байт [] так:
byte[] myByteArr = Encoding.UTF8.GetBytes("81FNybKWfcM539vVGtJrXRmoVMxNmZHY3OgUro8+pZ8=");
Проблема, с которой я столкнулся, заключается в том, что, похоже, исходные данные теряются. Если я возьму байтовый массив из предыдущего шага и преобразую его обратно в строку, он будет отличаться от исходной строки.
string check = Convert.ToBase64String(myByteArr);
проверка заканчивается:
"ODFGTnliS1dmY001Mzl2Vkd0SnJYUm1vVk14Tm1aSFkzT2dVcm84K3BaOD0="
что явно не совпадает с исходным строковым представлением, с которого я начал.