我正在做一个编程挑战,其中一个挑战让我感到很疯狂。在这个挑战中,我需要计算一个字符串的MD5值。该字符串以以下形式给出:n[c],其中n为数字,c为字符。例如:b3[a2[c]] => baccaccacc。一切都进行得很顺利,直到我收到了以下字符串:1[2[3[4[5[6[7[8[9[10[11[12[13[a]]]]]]]]]]]]. 这个字符串转换成一个包含6227020800个“a”的字符串,大小超过6GB,因此几乎不可能在实际时间内计算它。所以,我的问题是:MD5有什么性质可以在这里使用吗?我知道必须有一种方法在短时间内完成计算,我怀疑这与所有字符串都是同一字符重复多次有关。
[
,将其后面的字符(a
)替换为[
前面的数字(13
,因此为13*‘a’
),然后将该字符串存储在变量中,查找下一个[
并取mystoredstring*num
等等。 - Torxed68df0fa...
? - Carsten