Pergunta

Estou usando o navegador do cliente para enviar a solicitação HTTP. Para a geração de relatórios, o SecurityToken é enviado como postagem, para o download do relatório, o mesmo token precisa ser enviado pelo navegador do usuário, desta vez usando o GET.

Qual codificação você recomendaria para o SecurityToken, que realmente representa dados criptografados.

Eu tentei base64, mas isso falha porque o padrão Pode incluir o caractere "+" que é traduzido no HTTP, chega a '' (espaço em branco).

Então eu tentei a codificação de URL, mas isso falha porque, para o HTTP Post, como %3D são transmitidos sem tradução, mas quando o navegador http obtém com os dados %3d é convertido para '='.

Qual codificação você recomendaria, para permitir a transmissão segura sobre a postagem HTTP e obter sem que os dados sejam mal interpretados.

O ambiente é Java, Tomcat.

Obrigado, Maxim.

Foi útil?

Solução

String hexadecimal.

Apache Commons-Codec tem um Hexadecimal classe que fornece essa funcionalidade.

Isso parecerá assim: http://youraddress.com/context/servlet?param=ac7432be432b21

Outras dicas

Bem, você pode manter a base64 e usar esta solução:Código para decodificar/codificar um URL BASE64 modificado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top