title: URL Attribute Parameter Shortening
body: <p>I have a web application that uses various query string parameters to do other things.  These query string parameters are additive attributes, meaning that user actions change which ones are provided or even the order of what is provided.</p>
  
  <pre><code>Example URLs:
  http://dubdubdub.com/MyPage.aspx?MyParam=100+200+300
  http://dubdubdub.com/MyPage.aspx?MyParam=200+300+100
  </code></pre>
  
  <p>In the example URLs above, both result in the same page render. The page loads dynamically, extracts the attributes and shuffles them off to another service which uses them.  The order is irrelevant.</p>
  
  <p>I would like to find a way to condense the MyParam values into a hashed string of some kind, so that my Urls might be able to look like this...</p>
  
  <pre><code>http://dubdubdub.com/5kjh345i/MyPage.aspx
  </code></pre>
  
  <p>I've considered simple encryption/decryption, but that has resulted in a larger than ideal string.</p>
  
  <p>I'm currently toying with the idea of an in-memory hash table, pulled in at app startup from a database, but this will require that I populate the database with all possible permutations...not something I want to do.</p>
  
  <p>Other options?</p>