-
bitcoin $82160.384365 USD
1.45% -
ethereum $2455.081616 USD
3.86% -
tether $0.998766 USD
0.00% -
bnb $731.074815 USD
1.88% -
xrp $1.341202 USD
2.75% -
usd-coin $0.999972 USD
0.00% -
solana $106.370288 USD
4.15% -
tron $0.333968 USD
0.90% -
zcash $1227.270560 USD
12.21% -
hyperliquid $81.369775 USD
2.27% -
dogecoin $0.082306 USD
3.15% -
monero $561.523428 USD
4.67% -
chainlink $12.545183 USD
4.15% -
cardano $0.231049 USD
4.95% -
unus-sed-leo $9.030991 USD
0.03%
如何从公共密钥中产生以太坊钱包的地址?
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),我们将及时删除。
- 比特币 ETF 面临阻力,Pepe 联合创始人 Pepeto 凭借出色的预售逆势而上
- 2026-10-16 12:45:01
- 在资金流入预期温和和以太坊 ETF 规则不断变化的情况下,泰国为比特币和以太坊 ETF 做好准备
- 2026-10-16 12:45:01
- 单射 (INJ) 价格因机构采用和监管里程碑而飙升,但清洗交易迫在眉睫
- 2026-10-16 12:50:01
- XRP 新闻随着人工智能支付里程碑而飙升,交易者关注 Pepeto 的预售潜力
- 2026-10-16 08:35:01
- 众议员布莱恩·斯泰尔面临威斯康星州选举,《清晰法案》悬而未决
- 2026-10-16 05:25:01
- Vitalik Buterin 宣布 zkEVM 速度竞赛结束,敦促开发者优先考虑安全
- 2026-10-16 05:15:02
相关百科
如何在 BlueWallet 中查看闪电支付状态
2026-10-16 13:00:11
了解闪电支付生命周期1. 当发送者构建包含支付哈希、金额和到期时间的发票时,闪电支付就会启动。 2. 发送方节点通过一个或多个中间通道路由支付,直至到达接收方节点。 3. 成功接收后,接收者的节点显示原像,该原像沿着相同的路线传播回来以确认结算。 4. 若沿途任何通道流动性不足或验证失败,支付立即失...
如何使用 BlueWallet 通过闪电网络发送 Bitcoin
2026-10-16 04:20:16
了解 BlueWallet 中的闪电网络集成1. BlueWallet 支持具有内置闪电网络功能的非托管 Bitcoin 钱包,可实现即时、低费用的链下交易。 2.钱包在底层使用LND(闪电网络守护进程),允许用户在不运行完整节点的情况下打开通道、接收发票和路由支付。 3. 用户必须先在 BlueW...
如何在 Talisman 中检查不同网络上的代币余额
2026-10-15 23:19:32
了解Talisman的多链地址识别1. Talisman 钱包将每个区块链视为独立的账本层,但在 Polkadot、Kusama、Ethereum 和 Moonbeam 等网络上维护统一的地址管理接口。 2. 由于不同的代币标准和合约部署,单个公共地址可能代表不同链上的不同资产,例如 Polkado...
如何在 Talisman 钱包中查找您的 Polkadot 地址
2026-10-16 23:40:25
了解 Polkadot 地址结构1. Polkadot 地址是一个以数字1开头的 48 个字符的字符串,源自使用 SS58 编码的公钥。 2. 与以太坊地址不同,Polkadot 地址不以0x开头,也不区分大小写。 3. 每个地址对应一个唯一的加密密钥对,其中私钥必须始终保密。 4. Polkado...
如何在Eternl钱包中查看权益池委托
2026-10-16 03:40:14
了解 Eternl 中的权益池委托1. Eternl 是一种非托管卡尔达诺钱包,支持通过本机委托到权益池的权益功能。与托管钱包不同,Eternl 不持有或控制用户的私钥——所有签名操作都在设备本地进行。 2.卡尔达诺的委托是无需许可且可逆的。用户始终保留其 ADA 的完全所有权,并且授权不涉及将资金...
如何在发送代币之前在 Petra 钱包中切换网络
2026-10-17 01:40:31
市场波动模式1. Bitcoin 在 ETF 批准公告或宏观经济数据发布等高流动性事件期间,24 小时窗口内价格波动往往超过 10%。 2. 在大幅调整期间,山寨币与 BTC 的相关性飙升至 0.9 以上,表明大多数代币的独立价格走势减弱。 3. 级联清算后,期货未平仓合约在数小时内下降了 25% ...
如何在 BlueWallet 中查看闪电支付状态
2026-10-16 13:00:11
了解闪电支付生命周期1. 当发送者构建包含支付哈希、金额和到期时间的发票时,闪电支付就会启动。 2. 发送方节点通过一个或多个中间通道路由支付,直至到达接收方节点。 3. 成功接收后,接收者的节点显示原像,该原像沿着相同的路线传播回来以确认结算。 4. 若沿途任何通道流动性不足或验证失败,支付立即失...
如何使用 BlueWallet 通过闪电网络发送 Bitcoin
2026-10-16 04:20:16
了解 BlueWallet 中的闪电网络集成1. BlueWallet 支持具有内置闪电网络功能的非托管 Bitcoin 钱包,可实现即时、低费用的链下交易。 2.钱包在底层使用LND(闪电网络守护进程),允许用户在不运行完整节点的情况下打开通道、接收发票和路由支付。 3. 用户必须先在 BlueW...
如何在 Talisman 中检查不同网络上的代币余额
2026-10-15 23:19:32
了解Talisman的多链地址识别1. Talisman 钱包将每个区块链视为独立的账本层,但在 Polkadot、Kusama、Ethereum 和 Moonbeam 等网络上维护统一的地址管理接口。 2. 由于不同的代币标准和合约部署,单个公共地址可能代表不同链上的不同资产,例如 Polkado...
如何在 Talisman 钱包中查找您的 Polkadot 地址
2026-10-16 23:40:25
了解 Polkadot 地址结构1. Polkadot 地址是一个以数字1开头的 48 个字符的字符串,源自使用 SS58 编码的公钥。 2. 与以太坊地址不同,Polkadot 地址不以0x开头,也不区分大小写。 3. 每个地址对应一个唯一的加密密钥对,其中私钥必须始终保密。 4. Polkado...
如何在Eternl钱包中查看权益池委托
2026-10-16 03:40:14
了解 Eternl 中的权益池委托1. Eternl 是一种非托管卡尔达诺钱包,支持通过本机委托到权益池的权益功能。与托管钱包不同,Eternl 不持有或控制用户的私钥——所有签名操作都在设备本地进行。 2.卡尔达诺的委托是无需许可且可逆的。用户始终保留其 ADA 的完全所有权,并且授权不涉及将资金...
如何在发送代币之前在 Petra 钱包中切换网络
2026-10-17 01:40:31
市场波动模式1. Bitcoin 在 ETF 批准公告或宏观经济数据发布等高流动性事件期间,24 小时窗口内价格波动往往超过 10%。 2. 在大幅调整期间,山寨币与 BTC 的相关性飙升至 0.9 以上,表明大多数代币的独立价格走势减弱。 3. 级联清算后,期货未平仓合约在数小时内下降了 25% ...
查看所有文章














