本教程详细介绍了如何通过编程方式解析tor v3 onion域名,以提取其核心组成部分:公钥、校验和以及版本号。文章将深入讲解base32解码过程和字节级的数据提取方法,并提供实用的php代码示例,指导您如何从给定的.onion地址中识别这些关键元素。
Tor V3 onion地址是隐藏服务在Tor网络中的标识符。与V2地址相比,V3地址更长、更安全,并包含了服务的身份公钥、一个版本字段和一个基本校验和。这些信息经过base32编码后形成我们常见的.onion地址。
根据Tor的隐藏服务协议规范(rend-spec-v3.txt),一个V3 onion地址的结构可以概括为:
onion_address = base32(PUBKEY | CHECKSUM | VERSION) + ".onion"
其中:
这意味着,在移除.onion后缀并进行base32解码后,我们将得到一个35字节的二进制字符串,其内部结构为:
由于PHP标准库中不直接提供Base32解码功能,我们需要引入一个第三方库。本教程将以一个常见的Base32库为例(例如,通过Composer安装的base32-php/base32)。
首先,确保您的项目已安装了Base32解码库。如果您使用Composer,可以通过以下命令安装:
composer require base32-php/base32
然后,在您的PHP脚本中引入自动加载器:
require_once 'vendor/autoload.php'; use Base32\Base32;
我们将以示例地址 pg6mmjiyjmcrsslvykfwnntlaru7p5svn6y2ymmju6nubxndf4pscryd.onion 进行解析。
首先,从完整的onion地址中移除.onion后缀,只保留base32编码的部分。
接下来,使用Base32库对提取出的字符串进行解码。解码后的结果应该是一个35字节的二进制字符串。
d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5c4e3f2d1c0b9a8e7b6d5