Шифрование и кодирование в cookie - PullRequest
2 голосов
/ 15 июля 2011

У меня есть строка, которую я хочу зашифровать с помощью алгоритма AES.Затем я хочу сохранить результат в файле cookie в веб-браузерах.

Результатом шифрования AES является байтовый массив.Я хочу превратить это в строку, которую можно сохранить в файле cookie.Кажется, ни одна из кодировок не работает должным образом.

Было бы неплохо также иметь возможность шифровать специальные символы, например: ... В настоящее время я шифрую строку, затем использую базу64 строковое кодирование и замена некоторых символов, таких как «=», «+» и «/».Хотя это работает, похоже, это не элегантное решение ...

Есть ли лучший способ?

1 Ответ

1 голос
/ 15 июля 2011

Это довольно распространенный подход к тому, что вы делаете.

Следующий класс оборачивает все это, используя '-' и '_', опуская отступы.Это гораздо эффективнее, чем замена символов, и почти так же быстро, как метод Convert.ToBase64String:

http://csharptest.net/browse/src/Library/Formatting/Safe64Encoding.cs

Пример использования:

byte[] data = new byte[10];
string encoded = Safe64Encoding.EncodeBytes(data);
...
data = Safe64Encoding.DecodeBytes(encoded);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...