2

情報を得るために Web サイトをスクレイピングしていますが、マグネット リンクの sha1 ハッシュを取得する必要があります。

私はすべてのマグネットリンクを単純に取得しますpreg_match_allが、結果では奇妙な結果が得られます。16 進形式のマグネットハッシュの長さは 40 文字であることを理解していますが、32 文字の長さの文字列を返す結果も取得しています。その他の非 16 進数値。

私の結果からの 2 つの例、最初はマグネット リンク内の通常の 40 の 16 進数ハッシュ、

array
    0 => string 'F5AD2D170C033736FD987106F04C3ABD6DF41D14' (length=40)

そして、ハッシュが 32 の非 16 進数値である場所を理解できない他の奇妙な結果、

array
    0 => string 'VPR33QQM3L6BFU5FGOZXMBNORAFFSZWW' (length=32)

ハッシュは何らかの方法でパックされていますか? pack('H*', $hash)ハッシュのバイナリを返すので、それは行われていないことを知っていますか? 私がテストしたように、マグネットリンクは機能します。

さらに、この Web サイトでこれらのハッシュが使用されていることを確認できます

http://eztv.it

マグネット リンクにカーソルを合わせて、マグネット ハッシュを調べます。

ありがとう

4

2 に答える 2

4

マグネット リンクのハッシュはBase32を使用してエンコードできます。あなたの例では、

VPR33QQM3L6BFU5FGOZXMBNORAFFSZWW

になる

ABE3BDC20CDAFC12D3A533B37605AE880A5966D6

これは有効な SHA-1 ハッシュです。

于 2012-06-09T14:46:18.370 に答える
1

基本的に有効な torrent 情報ハッシュではありません。sha1 (40 バイト) のみが有効です。torrent ハッシュとして渡した場合、torrent クライアントまたは bencode スクリプトは失敗します。

以下に関連しているようです:

http://eztv.it/magnet:?xt=urn:btih:VPR33QQM3L6BFU5FGOZXMBNORAFFSZWW これは注目しています。

于 2012-06-09T14:43:50.033 に答える