-
bitcoin $75771.540085 USD
-1.86% -
ethereum $2399.709795 USD
-3.26% -
tether $0.999204 USD
-0.06% -
bnb $712.217256 USD
-0.77% -
xrp $1.292312 USD
-7.62% -
usd-coin $0.999959 USD
0.00% -
solana $97.051620 USD
-3.70% -
tron $0.334571 USD
-0.90% -
zcash $1186.253570 USD
3.75% -
hyperliquid $77.520171 USD
-1.88% -
dogecoin $0.079968 USD
-3.28% -
monero $508.293198 USD
-1.02% -
unus-sed-leo $8.883426 USD
-0.86% -
chainlink $10.791602 USD
-5.36% -
cardano $0.194877 USD
-4.63%
如何从公共密钥中产生以太坊钱包的地址?
An Ethereum wallet address is derived from the public key through Keccak-256 hashing, using the last 20 bytes to form a unique identifier.
2025/06/14 11:14
了解以太坊钱包之间的关系和公共钥匙
在以太坊的世界中,钱包地址不是直接的公共密钥本身,而是它的衍生版本。公共密钥是使用椭圆曲线密码学(特别是SECP256K1曲线)的私钥生成的。创建此公共密钥后,它将进行进一步的散列以生成最终的钱包地址。
该过程以随机生成的私钥开始,即256位编号。由此,使用SECP256K1算法得出公共密钥。压缩时,该公共密钥通常表示为64字节阵列(或128个十六进制字符)。至关重要的是要了解,尽管可以公开共享公共密钥,但绝不能在不安全的环境中进行更改或暴露。
使用Keccak-256哈希键
一旦生成了公钥,下一步涉及应用加密哈希功能。以太坊为此目的使用Keccak-256哈希算法。与Bitcoin使用的SHA-256不同, Keccak-256由于其灵活性和性能特征而被选择。
- 命令完整的公钥(包括前缀字节如果存在)。
- 应用Keccak-256哈希功能生成32字节(256位)输出。
- 由此产生的哈希将是代表输入公钥的独特字节序列。
在提取实际的以太坊钱包地址之前,该哈希值是中间阶段。
提取最终以太坊地址
在获得了公共密钥的Keccak-256哈希之后,只有一部分被用来形成最终的以太坊钱包地址。具体而言,为此目的选择了哈希的最后20个字节(160位)。
- 从Keccak-256哈希(Keccak-256 Hash)获取32字节的输出。
- 丢弃前12个字节。
- 将剩余的20个字节保留为以太坊地址。
然后将这20个字节编码为最初没有“ 0x”前缀的十六进制字符串。当在钱包或探险家中显示时,地址通常以“ 0x”前缀为前缀,以表明它是一种以太坊兼容的十六进制格式。
应用校验和编码安全性
为了提高安全性并降低错别字的风险,以太坊引入了EIP-55 ,该eip-55启用了地址的混合案例校验和编码。此功能允许用户在输入以太坊时检测错误。
- 将以太坊地址(没有“ 0x”)转换为其小写形式。
- 计算此小写字符串的Keccak-256哈希。
- 对于原始地址中的每个字符:
- 如果哈希中的相应刺激大于或等于8,则资本化字符。
- 否则,将其留下小写。
这会产生一个以太坊钱包地址,例如0xAbCdef1234567890aBcDef1234567890aBcDef12 ,其中大写作为视觉校验和。
验证生成地址的正确性
在使用任何以太坊钱包地址之前,必须通过为此目的设计的工具或库来验证其正确性。许多开发人员使用诸如ethers.js或web3.js之类的库来确保其实施与以太坊标准保持一致。
- 使用受信任的库从同一公共密钥重新生成地址。
- 将输出与手动计算的输出进行比较。
- 确保校验和编码和小写的版本匹配预期值。
此外,在Mainnet上部署之前,应执行少量测试交易,以确认地址的行为是按预期的。
常见问题
问:两个不同的公开钥匙可以导致相同的以太坊地址吗?从理论上讲,由于以太坊地址空间的有限尺寸(2^160) ,但概率在天文学上很低。但是,由于大量可能的组合,碰撞不被视为实际威胁。
问:公开分享我的以太坊钱包地址是安全的吗?是的,分享您的以太坊钱包地址是安全的,因为它不会直接暴露您的私钥或公共密钥。但是,避免共享可能损害隐私的交易细节或元数据。
问:为什么以太坊仅使用Keccak-256哈希而不是完整32个字节的20个字节?使用20个字节在安全性和气体效率之间达到平衡。较短的地址可降低区块链上的存储和计算成本,同时保持足够的熵以防止碰撞。
问:如果我将ETH发送到畸形的以太坊地址会发生什么?将资金汇入不存在或畸形的以太坊地址可能会导致资产永久损失。始终使用校验和验证工具在启动转移之前使用校验和验证工具进行验证。
免责声明:info@kdj.com
所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!
如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。
- 戴夫·拉姆齐 (Dave Ramsey) 发表评论:金融障碍中的加密货币与高收益储蓄
- 2026-09-16 20:35:01
- Robinhood 工程师在涉及超流动性交易的加密货币上市欺诈计划中被捕
- 2026-09-16 13:40:01
- 参议院阻止《澄清法案》:加密货币监管的挫折,但不是道路的尽头
- 2026-09-16 13:35:01
- 由于《澄清法案》在参议院陷入停滞,加密行业面临美国监管挫折
- 2026-09-16 13:40:01
- 澄清法案停滞:比特币、以太坊和加密货币市场的监管过山车
- 2026-09-16 13:40:01
- CLARITY 法案、加密货币规则和难以捉摸的 60 票:监管的过山车
- 2026-09-16 13:30:02
相关百科
如何查看转账是否已确认?
2026-09-09 16:20:31
市场波动模式1. Bitcoin 在 ETF 批准公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动通常超过 10%。 2. 山寨币市场对 Bitcoin 的定向运动表现出更大的敏感性,在看跌情况下,以太坊的波动系数经常是 BTC 的 1.8 倍。 3. 在闪崩期间,一级现货交易所的订...
如何查看钱包地址使用哪个网络?
2026-09-09 18:19:47
Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...
如何查看Trust钱包中的USDT网络是否正确?
2026-09-16 23:20:31
Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...
如何在Trust钱包中通过合约地址添加代币?
2026-09-10 11:00:18
访问添加自定义Token接口1. 在您的移动设备上启动 Trust Wallet 应用程序。 2. 点击底部导航栏的“钱包”选项卡,导航至钱包仪表板。 3. 点击屏幕右上角的+图标。 4. 从显示的选项中选择添加自定义令牌。 5. 在继续之前,选择与代币部署相对应的正确区块链网络,例如以太坊、BSC...
如何使用恢复短语导入 Trust Wallet?
2026-09-12 03:00:12
了解恢复短语导入1. 恢复短语是在钱包创建过程中生成的 12 或 24 个英文单词的序列,与您的私钥唯一关联。 2. 此短语是恢复跨设备和平台访问资产的唯一方法。 3. Trust Wallet 不会存储或传输您的恢复短语 — 它保持完全离线并由您控制。 4. 通过恢复短语导入允许从 MetaMas...
如何将MetaMask导入Trust钱包?
2026-09-11 15:19:55
MetaMask 和 Trust 钱包互操作性1. MetaMask 和 Trust Wallet 作为独立的自我托管钱包运行,具有不同的助记词系统和加密实现。 2. 没有官方功能或 API 端点允许将钱包从 MetaMask 直接导入 Trust Wallet。 3. 两个钱包都使用 BIP-39...
如何查看转账是否已确认?
2026-09-09 16:20:31
市场波动模式1. Bitcoin 在 ETF 批准公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动通常超过 10%。 2. 山寨币市场对 Bitcoin 的定向运动表现出更大的敏感性,在看跌情况下,以太坊的波动系数经常是 BTC 的 1.8 倍。 3. 在闪崩期间,一级现货交易所的订...
如何查看钱包地址使用哪个网络?
2026-09-09 18:19:47
Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...
如何查看Trust钱包中的USDT网络是否正确?
2026-09-16 23:20:31
Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...
如何在Trust钱包中通过合约地址添加代币?
2026-09-10 11:00:18
访问添加自定义Token接口1. 在您的移动设备上启动 Trust Wallet 应用程序。 2. 点击底部导航栏的“钱包”选项卡,导航至钱包仪表板。 3. 点击屏幕右上角的+图标。 4. 从显示的选项中选择添加自定义令牌。 5. 在继续之前,选择与代币部署相对应的正确区块链网络,例如以太坊、BSC...
如何使用恢复短语导入 Trust Wallet?
2026-09-12 03:00:12
了解恢复短语导入1. 恢复短语是在钱包创建过程中生成的 12 或 24 个英文单词的序列,与您的私钥唯一关联。 2. 此短语是恢复跨设备和平台访问资产的唯一方法。 3. Trust Wallet 不会存储或传输您的恢复短语 — 它保持完全离线并由您控制。 4. 通过恢复短语导入允许从 MetaMas...
如何将MetaMask导入Trust钱包?
2026-09-11 15:19:55
MetaMask 和 Trust 钱包互操作性1. MetaMask 和 Trust Wallet 作为独立的自我托管钱包运行,具有不同的助记词系统和加密实现。 2. 没有官方功能或 API 端点允许将钱包从 MetaMask 直接导入 Trust Wallet。 3. 两个钱包都使用 BIP-39...
查看所有文章














