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