我目前有这样的网址
http://blahblah.com/process.php?q=[HUGEEEEEEEEEEEEEEEEEEEEEEEE STRING of 5000 chars]
我的目标是转换像
这样的东西http://blahblah.com/process.php?q=[less charcters]
第一个问题:
如何在我的GET变量发送到操作页面之前执行功能(例如加密功能)?
我看到很多问题与类似话题有关。
第二个问题:
假设,我可以通过某种方式完成上述操作(可能通过jQuery / JavaScript或其他方式)。如何在index.php
页面压缩并在process.php
页面中解压缩?
我的尝试:
搜索固定长度的函数:
我已经查看了一些为ex维护字符串大小的加密。 md5()
给出了一个标准长度,即使对于一个非常大的字符串,它也是短而整齐的。但不幸的是md5
无法轻易解码。还有其他我解码的功能和固定长度的功能吗?如果是这样,我可以使用它,假设我知道如何做第1步。
编辑:我写的请求不是标记为该问题的副本,而且还没有特别再次询问未回答的问题。请阅读@Jeremy的评论,他正在关注这篇文章。
答案 0 :(得分:3)
我个人认为最好使用POST将数据发送到页面。我非常确定你不能使用像MD5这样的东西来压缩'数据,因为MD5做的是散列数据,所以它会查看你的数据运行算法来创建这个固定长度的散列。
然而,两个数据集创建相同散列的可能性极小,因此在我看来不可能可靠地解密MD5或其他类似的散列。有关哈希冲突的更多信息,请查看this page。
答案 1 :(得分:3)
您的问题是您以错误的方式使用互联网。 URL是有限的(它取决于浏览器),所以不要尝试使用长URL的事件 - 即使你想缩短它。
请记住,我们正在使用WordWideWeb很长一段时间,如果你进入deadend,你只需要重新考虑你的问题。也许你错误地使用当前的技术。
因此,请改用POST来传输您的数据(正如之前提到的那样)。
如果你想“压缩”你的数据,你应该使用类似拉链的东西,然后你必须使该URL确认为BASE64。这不适合任何方式和完全可怕。 (当然,它无法保证您的网址长度。)
MD5是哈希而不是压缩的东西。 MD5不可逆。一旦你哈希的东西你就不能再回去了。这不是将吨兆字节压缩成单个短数字的神奇方法。这是一个简短的事情,可以判断原始数据是否被修改(如果你这样做了两次)。
参见http://en.wikipedia.org/wiki/Hash_function 见http://en.wikipedia.org/wiki/MD5
相同