代码之家  ›  专栏  ›  技术社区  ›  GeoffreyF67

如何对此处使用的编码/解码方法进行反向工程?

  •  0
  • GeoffreyF67  · 技术社区  · 17 年前

    我有需要编码的页面,也有需要解码的页面。

    然而,如果没有网页,我自己也不知道如何做到这一点。

    我想做的是找出如何对hoplink进行编码,如:

    http://geoffreyf6.earth4.hop.clickbank.net
    

    http://8e5250ieuas1d9b9bo6c6p8xat.hop.clickbank.net/ 
    

    编码/解码页面如下所示:

    http://www.clickbank.com/hoplink_encoding.htm
    http://www.clickbank.com/hoplink_decoding.htm
    

    现在,我知道我可以点击他们的网站进行编码(我已经有了编码),但我想知道幕后到底发生了什么。

    输出中有26个字符,因此字母替换似乎是不可能的。

    有像x、t等字符,所以不能用十六进制(加上它太短了)。

    我不认为它使用任何类型的散列,因为它必须是100%唯一的,并且所有散列都有发生冲突的机会,对吗?

    有没有办法解决这个问题?

    2 回复  |  直到 14 年前
        1
  •  4
  •   David Hedlund    17 年前

    在表单中输入相同的细节每次都会给出不同的编码,因此编码/解码实际上是一个误称。更有可能的是,他们正在保存记录以及该标识符,不管它是什么,并使用它进行查找。也就是说

    b) 你将无法绕过他们的“编码器”

        2
  •  0
  •   Hank Gay    17 年前

    正确的散列算法发生散列冲突的可能性非常大, 真正地 低的我猜这是一个散列,可能有一系列交替的散列算法,以防发生冲突。

    更新:如中所述,理论上需要2^128次尝试,然后才能合理预期使用SHA-256会发生冲突(我说理论上是因为我似乎记得听到过一些针对SHA-256的攻击,这些攻击会减少此数量,尽管使用当前硬件不会达到不安全的程度)。