Criptografar querystring ASP NET MVC

Olá pessoal!

Algumas vezes precisamos transmitir alguma informação via querystring e que não gostaríamos de deixar a informação de forma explícita na URL. Uma forma fácil de “ocultarmos” a informação é através da criptografia da querystring. Lembrando que este recurso é apenas para reforçar a segurança do seu site. Nunca deixe de fazer as validações do lado do servidor.
Para este exemplo vamos utilizar o template de projeto ASP NET MVC.

Na HomeController modifique o a action Index e crie um ActionResult e adicione uma View para receber um id e um param como string:

Crie uma pasta chamada helpers (ou qualquer outro nome) e crie uma classe chama estática chamada CriptografiaHelper. Essa classe será responsável por criptografar e descriptografar os dados da query string.
Coloque o seguinte código na classe criada:

Na Index.cshtml coloque o seguinte código na página:

E na SegundaPagina.cshtml o seguinte código:

Execute o projeto e clique no link. A url será exibida da seguinte forma:

http://localhost:0000/Home/SegundaPagina/otj88HlnkcUpzUiyuALPGQ%3d%3d?param=taDmNIZW9xDWjZxBAyTG4A%3D%3D

Este foi apenas um simples exemplo de como criptografar query string. Neste exemplo utilizei ViewBag, mas você pode utilizar o mesmo conceito em uma viewmodel por exemplo.

Para fazer o download do projeto em MVC 5 clique aqui.

um abraço e até a próxima!