Я некоторое время использовал алгоритм симметричного ключа (Rijndael) (http://www.obviex.com/samples/Encryption.aspx)) для шифрования идентификатора. Затем я URL-адрес кодирую зашифрованную версию идентификатора и передаю его в строке запроса. Когда я получаю Идентификатор из строки запроса, сначала я его декодирую по URL, и расшифровываю.
Недавно возникла проблема. Если зашифрованный идентификатор имеет как «пробелы», так и «+» (например, «abc ef + g»), при кодировании URL он заменяет все «пробелы» на «+». Это проблема, когда я URL-декодирую идентификатор, поскольку я не не знаю, какой "+" был "+", а какой "+" был "пробел".
Если есть возможность выбрать выходной набор символов, состоящий только из алфавита (т. Е. Зашифрованный идентификатор использует только A-Z)? Или, если есть какой-то другой 2-х сторонний алгоритм шифрования, у которого есть опция выбора выходного набора символов?
Или, я думаю, мой последний вариант - вручную заменить "+" в зашифрованном идентификаторе на что-то вроде "_SPACE _"
Спасибо