В моем приложении мне нужно закодировать строку с помощью base64, избежать возможных специальных символов и поместить их в URL-адрес.Rails: base64 и проблема с экранированием символов
я сделать следующее:
string = "[email protected]"
enc = OpenSSL::Cipher::Cipher.new('DES-EDE3-CBC')
enc.encrypt('dummy_salt')
encoded = URI.escape(Base64.encode64(enc.update(string) << enc.final))
Проблема заключается в том, что каким-то образом URI.escape
не избежать '/' характер. Это совершенно неприемлемо, если кодированная строка предназначена для использования в качестве параметра URL.
Каким образом URI.escape
игнорирует escape '/'? Должен ли я пользователь любой другой .escape
, затем один, который поступает из URI? Или я должен использовать другой метод кодирования (не так ли)?
Любые предложения относительно кода также приветствуются.
блестящий, благодаря – gmile