root09
@root09

Преобразовать строку в base64?

В чем может быть проблема?
Есть задача строку преобразовать в base64,

Например строка "{"response":"2,4,5"}" должна стать "eyJyZXNwb25zZSI6IjIsNCw1In0."

Я пытаюсь преобразовать следующим кодом:
public static string Base64Encode(string plainText)
{
            var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
            return System.Convert.ToBase64String(plainTextBytes);
}


Но на выходе получаю "eyJyZXNwb25zZSI6IjIsNCw1In0="

Если это декодировать обратно в строку, то тоже получится "{"response":"2,4,5"}", но почему хеш выглядит подругому? как из строки "{"response":"2,4,5"}" получить "eyJyZXNwb25zZSI6IjIsNCw1In0." ?
  • Вопрос задан
  • 2324 просмотра
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
У вас правильно преобразует.
«=» специальный код суффикса
Из википедии:
"Если кодируются только один или два байта, в результате получаются только первые два или три символа строки, а выходная строка дополняется двумя или одним символами «=». Это предотвращает добавление дополнительных битов к восстановленным данным. "
Ответ написан
Комментировать
aminought
@aminought
С чего вы взяли, что вам нужно именно "eyJyZXNwb25zZSI6IjIsNCw1In0."? По-моему, всё верно. Если вас смущает хэш, то посмотрите в hex-редакторе, что не так с декодированной строкой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы