Encryption URL属性参数缩短
我有一个web应用程序,它使用各种查询字符串参数来做其他事情。这些查询字符串参数是附加属性,这意味着用户操作会更改提供的属性,甚至更改提供内容的顺序Encryption URL属性参数缩短,encryption,obfuscation,url-shortener,Encryption,Obfuscation,Url Shortener,我有一个web应用程序,它使用各种查询字符串参数来做其他事情。这些查询字符串参数是附加属性,这意味着用户操作会更改提供的属性,甚至更改提供内容的顺序 Example URLs: http://dubdubdub.com/MyPage.aspx?MyParam=100+200+300 http://dubdubdub.com/MyPage.aspx?MyParam=200+300+100 在上面的示例URL中,两者都会导致相同的页面呈现。该页面动态加载、提取属性并将它们转移到使用它们的另一个服务
Example URLs:
http://dubdubdub.com/MyPage.aspx?MyParam=100+200+300
http://dubdubdub.com/MyPage.aspx?MyParam=200+300+100
在上面的示例URL中,两者都会导致相同的页面呈现。该页面动态加载、提取属性并将它们转移到使用它们的另一个服务。顺序无关紧要
我想找到一种方法将MyParam值压缩成某种哈希字符串,这样我的URL就可以像这样
http://dubdubdub.com/5kjh345i/MyPage.aspx
我考虑过简单的加密/解密,但这导致了一个比理想字符串更大的字符串
我目前正在考虑内存中的哈希表,在应用程序启动时从数据库中拉入,但这将要求我用所有可能的排列填充数据库…这不是我想做的事情
其他选项?创建属性集的有效二进制表示,然后使用base64将其编码为URL 这将您的问题简化为确定有效的二进制表示法,这是一个数据压缩问题。哈夫曼编码或算术编码之类的想法可能很有用——这实际上取决于属性集的范围