gpt4 book ai didi

algorithm - 生产中md5碰撞的几个问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:22:49 28 4
gpt4 key购买 nike

我在一家游戏公司,我们用md5算法做充值顺序校验。

这是我们的做法:

  1. 在支付中心服务器和我们的游戏服务器上都有一个共同的“ key ”。

  2. 支付中心向我们的游戏服务器发送添加游戏币请求。
    其中有很多常规参数和一个名为“sign”的特殊参数

  3. 当我们在游戏服务器上收到请求时,我们使用 md5("所有常规参数"+ " key ") 来生成结果。
    如果结果等于“sign”参数,我们将认为此收费订单有效。


我的问题是:

如果有人盲目地使用随机生成的“伪 key ”与所有其他参数进行 md5 计算以产生一个符号。
巧合的是,他用他的“伪 key ”做了一个有效的标记。

  1. 他需要为每组“常规参数”尝试多少次才能产生有效符号?

  2. pseudo-secret-key 与我原来的 secret-key 碰巧产生一个有效的 sign 相同的机会有多少

  3. 如果pseudo-secret-key与我原来的secret-key不同,是不是几乎不可能使用pseudo-key 使用另一种不同的常规参数组合来生成有效符号?

最佳答案

基础:md5哈希结果是均匀分布的。那是 2^128 中的 1 的机会。

  1. 你无法确切地知道他需要多少次尝试。但是,您可以计算 t 次尝试中的碰撞几率:1 - (1 - 1/(2 ^ 128)) ^ t。例如,在 2^128 次尝试之后,他有大约 1/3 的机会。
  2. 取决于您的 key 范围。
  3. 同样,机会是 1/(2^128)

关于algorithm - 生产中md5碰撞的几个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30882081/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com