sha256基于不同的结果

时间:2016-01-24 19:57:41

标签: sha256

根据此代码的不同结果知道$server_seed值是否可行?

$server_seed = "**4799e37e2f397e6196813367a11042335521f8d2**"; (unknown value)

$round_id = 73904; (known value);

$round_date = "2016-01-23-11-59-37"; (known value)

$hash = hash("sha256", $server_seed . "-" . $round_id . "-" . $round_date);

$roll = bcmod(hexdec(substr($hash, 0, 8)), 15);

echo $roll;

每次$round_id增加1并且$round_date增加45秒时,代码会给出 0 14 之间的值。我可以获得大量不同的结果,我知道他们的$round_id$round_date,但$server_seed是未知的(总是相同的长度)。

我的问题是,是否有一种方法可以使用不同的结果来了解$server_seed值,例如创建一个检查不同$server_seeds值的代码,并告诉您哪些值会为您提供插入的结果

无论如何以简单明了的方式获得$server_seed值?

2 个答案:

答案 0 :(得分:1)

没有简单的方法。 Sha256是加密哈希函数,完全满足此函数的definition

  

加密散列函数是考虑的散列函数   几乎不可能倒置。

目前在SHA-2

上未报告任何成功的攻击

正如另一个答案所指出的那样,只有暴力攻击才有可能在现有计算技术和硬件的当前状态下执行是不可行的。

答案 1 :(得分:0)

没有简单的方法。字典或暴力。