``` String privateKey = "xxxxxxxxxxx"; // 這里需先設(shè)置私鑰 ECKeyPair keyPair = ECKeyPair.create(Numeric.toBigInt(privateKey)); String address = Keys.toChecksumAddress(keyPair.getAddress()); ```
解析:
首先,我們將私鑰轉(zhuǎn)換為16進(jìn)制的BigInt數(shù):
```
Numeric.toBigInt(privateKey)
```
接下來通過私鑰創(chuàng)建一個(gè)密鑰對(duì):
```
ECKeyPair keyPair = ECKeyPair.create(Numeric.toBigInt(privateKey));
```
然后調(diào)用`getAddress()`方法獲取ETH地址:
```
String address = keyPair.getAddress();
```
由于ETH地址和密鑰是一一對(duì)應(yīng)的,因此我們需要使用checksum將ETH地址進(jìn)行完善:
```
address = Keys.toChecksumAddress(address);
```
最終,`address`就是一個(gè)ETH地址了。
需要引入的包:
```
import org.web3j.crypto.ECKeyPair;
import org.web3j.crypto.Keys;
import org.web3j.utils.Numeric;
```