パーソナルツール
現在位置: ホーム Addie's Diary Pythonthonthon

Pythonthonthon

作者: (A|E)ddie at 2009年03月31日 04時40分 |
Filed under:

布団に入ったらあまりにもアホなアルゴリズムだったことに
気付いたので修正。

合致する最大桁数を求めりゃよかったんだな。これでデカい
ループを50回以上回す必要がなくなった。

さらにxのハッシュを何回も計算しすぎてた。

ま、ざっくり計算したら外のループだけで60億年かかるんだ
けど。。。ダメだねこりゃ。

冷静に考えたら数字だけとは言え20桁のレインボーテーブ
ルそのものなんだからとてつもなくパワーかかるのは当り前
だね。とりあえず正攻法は諦めよう。

 

以下ソース

import hashlib
from datetime import datetime
target = 100000000000000000000
x = 0
y = 1
max = 0
while x < target:
  y = x + 1
  hx = hashlib.sha256('%020d' % x).hexdigest()
  while y < target:
    hy = hashlib.sha256('%020d' % y).hexdigest()
    for i in range (0, 64):
      if (hx[i] == hy [i]):
        if (max < i + 1):
          max = i + 1
          print '%s:same (%d) \n[%s]\n[%s]\n' % (datetime.now(), i + 1, hx, hy)
      else:
          break
    y += 1
  x += 1
ドキュメントアクション
« 2018 年 12月 »
12月
1
2345678
9101112131415
16171819202122
23242526272829
3031