【问题标题】:How can I reverse engineer the encode/decode method used here?如何对此处使用的编码/解码方法进行反向工程?
【发布时间】:2009-07-07 14:47:49
【问题描述】:

我有页面要编码,我有页面要解码。

但是,我不知道如何在没有网页的情况下自己做。

我正在尝试做的是弄清楚如何编码 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% 唯一的,并且所有哈希都有可能发生冲突,对吧?

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: hash reverse-engineering encode decode


    【解决方案1】:

    在表单中输入相同的细节每次都会给出不同的编码,因此编码/解码实际上是用词不当。更有可能的是,他们将记录连同此标识符一起保存,无论它是什么,并将其用于查找。这意味着

    a) 这个值有些随意

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

    【讨论】:

      【解决方案2】:

      正确的散列算法发生散列冲突的可能性真的非常,非常;我猜它是一个散列,也许有一系列备用散列算法,以防发生冲突。

      更新:理论上,它需要 2^128 次尝试才能合理地预期使用 SHA-256 的碰撞(我说理论上是因为我似乎记得听说过一些针对 SHA-256 的攻击会减少这个数字,不过不要使用当前硬件不安全级别)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-27
        • 2015-07-23
        • 2020-01-02
        相关资源
        最近更新 更多