Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption URL属性参数缩短_Encryption_Obfuscation_Url Shortener - Fatal编程技术网

Encryption URL属性参数缩短

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中,两者都会导致相同的页面呈现。该页面动态加载、提取属性并将它们转移到使用它们的另一个服务

我有一个web应用程序,它使用各种查询字符串参数来做其他事情。这些查询字符串参数是附加属性,这意味着用户操作会更改提供的属性,甚至更改提供内容的顺序

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

这将您的问题简化为确定有效的二进制表示法,这是一个数据压缩问题。哈夫曼编码或算术编码之类的想法可能很有用——这实际上取决于属性集的范围