2008-11-18 2 views
2

Я хочу преобразовать значение Rijndaemanaged() в строку.Преобразование Rijndaelmanged() byte [] в строку

Будет ли ToBase64String() достаточным? Он говорит только для 8-битных массивов, но AES 128 бит правильно?

Update

Для encrption, я использую код из http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx

ответ

0

байт байт = 8 бит. ToBase64String будет работать. Как указывает Джон, у него есть ограничения в использовании его в URL-адресах или именах файлов.

Вы можете использовать this, чтобы преобразовать его в шестнадцатеричную строку.

+0

Что вы имеете в виду, накладные расходы при конвертации? – 2008-11-18 17:35:22

+0

Шестнадцатеричная строка будет длиннее строки base64! (С шестнадцатеричной длиной строки = 2 * бинарной длины, с базой 64, длиной строки = (4/3) * двоичной длиной) – 2008-11-18 17:38:40

3

Base64 - это в целом хороший способ передвижения. Это достаточно эффективно, и вам обычно не нужно беспокоиться о проблемах с кодировкой, поскольку результатом будет ASCII. Однако, вероятно, вам следует быть осторожным, если вы собираетесь использовать результат в URL-адресе - «нормальный» Base64 не является безопасным для URL-адреса. (Существуют альтернативные кодировки, которые используют разные символы.)

0

Мы успешно использовали Convert.ToBase64String в зашифрованных байтах из управляемого Rijndael в течение нескольких лет.

Смежные вопросы