市值: $2.7982T -0.36%
成交额(24h): $72.3819B -19.75%
恐惧与贪婪指数:

50 - 中立

  • 市值: $2.7982T -0.36%
  • 成交额(24h): $72.3819B -19.75%
  • 恐惧与贪婪指数:
  • 市值: $2.7982T -0.36%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

如何从公共密钥中产生以太坊钱包的地址?

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),我们将及时删除。

相关百科

如何将 Avalanche C 链网络添加到 MetaMask

如何将 Avalanche C 链网络添加到 MetaMask

2026-10-15 11:00:04

网络配置步骤1. 打开 MetaMask 浏览器扩展,然后单击位于界面顶部中心区域的网络选择器。 2. 从下拉菜单中选择“自定义 RPC”以启动手动链设置。 3. 在指定字段中输入“Avalanche C-Chain”作为网络名称。 4. 输入 Avalanche C-Chain 官方 RPC UR...

如何将基础网络上的 USDC 添加到 MetaMask

如何将基础网络上的 USDC 添加到 MetaMask

2026-10-15 09:59:31

基础网络配置步骤1. 打开 MetaMask 浏览器扩展并确保其已更新至最新版本。 2. 单击界面顶部的网络选择器,然后从下拉菜单中选择“添加网络”。 3. 选择“手动添加网络”并输入以下基本主网参数:网络名称:基地新的 RPC URL: https://mainnet.base.org链号: 84...

如何使用秘密恢复短语恢复 MetaMask 中丢失的帐户

如何使用秘密恢复短语恢复 MetaMask 中丢失的帐户

2026-10-15 08:00:30

了解秘密恢复短语1. 秘密恢复短语是在 MetaMask 钱包设置过程中生成的 12 或 24 个英文单词的序列。 2. 它作为唯一的密钥来重建私钥并重新获得对关联地址的完全控制。 3. 该短语永远不会传输到 MetaMask 服务器或存储在任何远程基础设施上。 4. 它的完整性完全取决于用户保管—...

如何在 Coinbase 钱包中查找我的 USDC 充值地址

如何在 Coinbase 钱包中查找我的 USDC 充值地址

2026-10-15 05:39:58

找到您的 USDC 存款地址1. 打开 Coinbase 钱包移动应用程序或浏览器扩展程序,并确保您已登录到您的主钱包帐户。 2. 点击或单击“资产”选项卡以查看您的代币余额。 3. 在列表中滚动或搜索USDC ;点击它可以访问特定于令牌的屏幕。 4. 选择接收选项 — 这将触发生成与您的 USDC...

如何在 OKX 钱包中查找您的 Solana 地址

如何在 OKX 钱包中查找您的 Solana 地址

2026-10-15 06:00:24

在 OKX 钱包中访问 Solana 网络1. 确保 OKX 钱包扩展或移动应用程序更新到版本 4.3.0 或更高版本,因为在此版本后完全集成了 Solana 支持。 2. 打开 OKX 钱包界面并从主菜单导航至“网络”部分。 3. 滚动浏览可用链列表并找到“Solana”。如果禁用,请将其打开。钱...

如何启用 Trust Wallet 中未显示的代币

如何启用 Trust Wallet 中未显示的代币

2026-10-15 09:20:10

了解 Trust Wallet 中的代币可见性1. Trust Wallet 依赖于其内部团队和社区贡献者通过 GitHub 存储库维护的精选代币列表。 2. 即使将代币部署在支持的链上,由于缺少名称、符号、小数或徽标 URI 等元数据,代币也可能不会出现。 3. 未经验证的合约所有权或标记为可疑行...

如何将 Avalanche C 链网络添加到 MetaMask

如何将 Avalanche C 链网络添加到 MetaMask

2026-10-15 11:00:04

网络配置步骤1. 打开 MetaMask 浏览器扩展,然后单击位于界面顶部中心区域的网络选择器。 2. 从下拉菜单中选择“自定义 RPC”以启动手动链设置。 3. 在指定字段中输入“Avalanche C-Chain”作为网络名称。 4. 输入 Avalanche C-Chain 官方 RPC UR...

如何将基础网络上的 USDC 添加到 MetaMask

如何将基础网络上的 USDC 添加到 MetaMask

2026-10-15 09:59:31

基础网络配置步骤1. 打开 MetaMask 浏览器扩展并确保其已更新至最新版本。 2. 单击界面顶部的网络选择器,然后从下拉菜单中选择“添加网络”。 3. 选择“手动添加网络”并输入以下基本主网参数:网络名称:基地新的 RPC URL: https://mainnet.base.org链号: 84...

如何使用秘密恢复短语恢复 MetaMask 中丢失的帐户

如何使用秘密恢复短语恢复 MetaMask 中丢失的帐户

2026-10-15 08:00:30

了解秘密恢复短语1. 秘密恢复短语是在 MetaMask 钱包设置过程中生成的 12 或 24 个英文单词的序列。 2. 它作为唯一的密钥来重建私钥并重新获得对关联地址的完全控制。 3. 该短语永远不会传输到 MetaMask 服务器或存储在任何远程基础设施上。 4. 它的完整性完全取决于用户保管—...

如何在 Coinbase 钱包中查找我的 USDC 充值地址

如何在 Coinbase 钱包中查找我的 USDC 充值地址

2026-10-15 05:39:58

找到您的 USDC 存款地址1. 打开 Coinbase 钱包移动应用程序或浏览器扩展程序,并确保您已登录到您的主钱包帐户。 2. 点击或单击“资产”选项卡以查看您的代币余额。 3. 在列表中滚动或搜索USDC ;点击它可以访问特定于令牌的屏幕。 4. 选择接收选项 — 这将触发生成与您的 USDC...

如何在 OKX 钱包中查找您的 Solana 地址

如何在 OKX 钱包中查找您的 Solana 地址

2026-10-15 06:00:24

在 OKX 钱包中访问 Solana 网络1. 确保 OKX 钱包扩展或移动应用程序更新到版本 4.3.0 或更高版本,因为在此版本后完全集成了 Solana 支持。 2. 打开 OKX 钱包界面并从主菜单导航至“网络”部分。 3. 滚动浏览可用链列表并找到“Solana”。如果禁用,请将其打开。钱...

如何启用 Trust Wallet 中未显示的代币

如何启用 Trust Wallet 中未显示的代币

2026-10-15 09:20:10

了解 Trust Wallet 中的代币可见性1. Trust Wallet 依赖于其内部团队和社区贡献者通过 GitHub 存储库维护的精选代币列表。 2. 即使将代币部署在支持的链上,由于缺少名称、符号、小数或徽标 URI 等元数据,代币也可能不会出现。 3. 未经验证的合约所有权或标记为可疑行...

查看所有文章

User not found or password invalid

Your input is correct