区块链开发之验证ETH地址的有效性

时间:2018-08-01作者:klpeng分类:IT综合浏览:7111评论:0

引言

之前介绍了eth私钥公钥地址的生成,接下来介绍一下eth地址有效性的校验,要做地址有效性的校验,首先要知道他的地址规则:

eth的地址,就是把公钥用sha256hash之后,取其后160位生成的16进制字符串(40个字符)再加上前缀“0x”(总共42位)

校验流程

第一步,先判断地址非空和是否0x开头

第二步,把16进制字符串转成10进制数,看是否能否转换成功

第三部,判断是否长度是40位(去掉0x)

代码实现

public static boolean isETHValidAddress(String input) {
        if (StringUtils.isNull(input) || !input.startsWith("0x"))
            return false;
        return WalletUtils.isValidAddress(input);
    }

isValidAddress方法

    public static boolean isValidAddress(String input) {
        String cleanInput = Numeric.cleanHexPrefix(input);

        try {
            Numeric.toBigIntNoPrefix(cleanInput);
        } catch (NumberFormatException e) {
            return false;
        }

        return cleanInput.length() == ADDRESS_LENGTH_IN_HEX;
    }
打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢