QueryString Encryptor HTTPModule
I wrote an HttpModule that Encrypts querystrings. This module is seamless to the web developer. You can create html that looks like this: myPage.aspx?id=1&customer=2 and the source on the client will automatically be converted to this: myPage.aspx?eqs=KS%2bthrckechBKT%2bZ8IB44Bz3qvW3853f. Then to access the value in the code behind page you would use QueryString["id"] or QueryString["customer"].
To install it add QSHttpModules.dll to your bin directory and then add the following to your web.config (any where in <system.web>):
<httpModules>
<add type="QSHttpModules.QueryStringEncryptor, QSHttpModules" name="QueryStringEncryptor" />
The module does this by finding the links and replacing them with the encrypted version as the page is sent out to the client. Then on every request the module looks for an encrypted querystring, if found it decrypts it and rewrites the url.
The code is listed below, but you can also download it from my message board at: http://csharpboard.com/ShowPost.aspx?PostID=44. This module of course takes some overhead to process and it is not recommended to be used as a full security feature. Rights checking should always be in place. But, if a little cpu time is worth hiding the contents of your querystring, this may be for you.
As always, use at your own risk.
Code: