资料相关
首先需要明白磁力链接的定义https://zh.wikipedia.org/wiki/磁力链接
http://bittorrent.org/beps/bep_0009.html
dmhy一般有两种磁力链格式,最早只有一种,并且他的磁力链有些软件无法识别
两者的主要区别在于base16(HEX)和base32的编码
base32:https://en.wikipedia.org/wiki/Base32
HEX(base16):https://en.wikipedia.org/wiki/Hexadecimal
还有资料http://www.ietf.org/rfc/rfc3548.txt
HEX知道的比较多,base32相对就少些
base32码表
| Value | Encoding | Value | Encoding | Value | Encoding | Value | Encoding |
|---|---|---|---|---|---|---|---|
| 0 | A | 9 | J | 18 | S | 27 | 3 |
| 1 | B | 10 | K | 19 | T | 28 | 4 |
| 2 | C | 11 | L | 20 | U | 29 | 5 |
| 3 | D | 12 | M | 21 | V | 30 | 6 |
| 4 | E | 13 | N | 22 | W | 31 | 7 |
| 5 | F | 14 | O | 23 | X | ||
| 6 | G | 15 | P | 24 | Y | ||
| 7 | H | 16 | Q | 25 | Z | ||
| 8 | I | 17 | R | 26 | 2 |
以此为例
Magnet連接: magnet:?xt=urn:btih:H5AIE5LYR4R3H5DDQHOUSDRRBHFTV7OO
Magnet連接typeII: magnet:?xt=urn:btih:3f408275788f23b3f46381dd490e3109cb3afdce
base32 最末尾O → 14 → 01110
base16 最末尾e →14 → 1110
OO 即为 01110 01110
ce 则是 11001110,进一步dce是1101 1100 1110
即这两者就是可以相互转换的,二进制值其实一样