0

このアルゴリズムを Python で再現しようとしました

(二重パイプは、パスフレーズに 0x1 または 0x2 を追加することを意味します)

s1 = scrypt(key=(passphrase||0x1), salt=(salt||0x1), N=2^18, r=8, p=1, dkLen=32)

s2 = pbkdf2(key=(passphrase||0x2), salt=(salt||0x2), c=2^16, dkLen=32, prf=HMAC_SHA256)

keypair = generate_bitcoin_keypair(s1 ⊕ s2)

そして、私はこれを作りました:

s1 = pyscrypt.hash(password=phrase+'\x01', salt=saltPhrase+'\x01', N=16, r=8, p=1, dkLen=32)

s2 = pbkdf2(phrase+'\x02', saltPhrase+'\x02', 1, keylen=32, prf='hmac-sha256')

newWallet = BitcoinKeypair.from_passphrase(''.join(chr(ord(a) ^ ord(b)) for a,b in zip(s1,s2)))

問題は、これを生成するため、正しく機能しないことです

bitcoin address: 1HvAip4QGWqPJoh8nxLmRAXtbuVj9AKGHq

Wif: 5Kd3D34oALv33x7RMAPrrsNtidZjQekdWHXWGXW6cs2SnRkKUR2

しかし、正しい出力は次のとおりです。

bitcoin address: 1MGKWPZEqJh9JzCPYYsKFEo9w8E2GXmzA7

Wif: 5KXwsERJKvUZde3qHboJFz1gF6B15Xt7TB22bRWoGzgN3FHxqyR

誰かが私を助けることができますか?ありがとう。

ここにコード全体があります:http://pastebin.com/QL0tQ83v


このスクリプトを使用するには、次のライブラリをインストールする必要があります。

pip install pyscrypt passlib coinkit
4

1 に答える 1