引言

之前介绍了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;}

区块链开发之验证ETH地址的有效性相关推荐

  1. 区块链开发之验证BTC地址的有效性

    引言 之前介绍了btc私钥公钥地址的生成,接下来介绍一下btc地址有效性的校验,要做地址有效性的校验,首先要知道他的地址生成规则: 第一步,随机选取一个32字节的数.大小介于1 ~ 0xFFFF FF ...

  2. 【区块链基础】5——ETH协议

    GHOST协议 以太坊系统将出块时间降到了15秒左右,相比于比特币系统大幅度提升了出块的速度,但由于P2P网络延迟,会导致出现大量的临时性分叉,间接造成算力的分散,若沿用比特币系统中最长合法链原则,将 ...

  3. 区块链开发教程 # 2 以太坊公链

    科普向介绍请参考 tutorial.技术开发教程请参考本文.本系列文章更偏向技术入门.参考网上资料根据个人理解整理而成.本文主要参考廖雪峰博客. 前一篇文章地址:区块链开发教程 # 1 比特币公链 本 ...

  4. 区块链开发初学者编程入门指南

    我有很多问题需要了解区块链Blockchain的工作原理.重要的是"我如何在其上构建应用程序dapp?".花了几个星期的时间挖掘,阅读和试验才最终了解.我找不到简短而全面的指南.现 ...

  5. 区块链开发(二)部署和运行第一个以太坊智能合约

    区块链开发(二)部署并运行第一个以太坊智能合约 李赫2016年8月22日 本文首发8BTC 网络上不少部署智能合约的文章,但是都有一个共同的特点,就是采用命令行的方式来部署,先是建立SOLC的编译环境 ...

  6. 区块链开发之搭建以太坊私有链

    (一)区块链开发之搭建以太坊私有链 本文链接:https://blog.csdn.net/rwdxll/article/details/82929417 1.安装ethereum/Go client( ...

  7. 5分钟学会区块链 - 开发一条区块链 Develop BlockChain with Tendermint

    本文攻略:解惑区块链开发,学习 Tendermint,给自己造一条区块链 建议玩家等级:技术小白,学生党,初级码农 阅读此文先解锁技能: 一点点命令行基础 一点点 GO 基础:三天包学会 一点点区块链 ...

  8. 收藏贴 :2019年必备43种区块链开发工具

    2019独角兽企业重金招聘Python工程师标准>>> 本文列出2019年最新整理的用于区块链开发的43种流行的开发库.开发工具与开发框架. 原文:43个区块链开发工具 - 汇智网 ...

  9. 003《区块链开发指南》一一1.2 区块和区块链 转

    摘要:             本节书摘来自华章计算机<区块链开发指南>一书中的第1章,第1.2节,作者:申屠青春 主编 宋 波 张 鹏 汪晓明 季宙栋 左川民 编著更多章节内容可以访问云 ...

  10. 区块链开发(五)区块链ICO:互联网进化的驱动力

    区块链开发(五)区块链ICO:互联网进化的驱动力 李赫 2016年10月8日 由于区块链不可篡改的特性,在众多区块链组织和公司的共同努力下,互联网将逐步从中心化的信任进化到由算法.数据为核心的去中心化 ...

最新文章

  1. Python初学者必学的20个重要技巧
  2. 侯捷:搞Windows程序设计我们需要啥
  3. Hadoop_27_MapReduce_运营商原始日志增强(自定义OutputFormat)
  4. 操作系统识别工具 xprobe2 p0f 简介
  5. 微信小程序开发(1)
  6. web app开发技巧总结
  7. 这就是爱?英特尔处理器将整合AMD HBM2 GPU
  8. mysql check exist_mysql – 使用多个EXIST进行查询
  9. Mysql的事务事务的特征事务的隔离级别
  10. 【sock_stream和sock_dgram】、 【AF_INET和AF_UNIX】
  11. X86Windows 相关链接....持续更新中....
  12. php.ini 没有pdo,检查了启用的php.ini文件“ extension = php_pdo_mysql.dll”,但仍然出错...
  13. android monkey测试步骤,android Monkey 测试技巧
  14. Snipaste安装教程及软件(截图工具)
  15. 【开集识别论文解读】C2AE: Class Conditioned Auto-Encoder for Open-set Recognition——CVPR2019
  16. Super Point 笔记(二)
  17. 静态函数和非静态函数的区别(静态方法和非静态方法)
  18. Delphi CxGrid 用法详解
  19. 《Head First HTML5 javascript》第7章 表单
  20. Photoshop文字之——制作晶莹剔透胶体特效

热门文章

  1. android如何设置透明字体颜色,Android设置字体透明度
  2. ADNI数据集阅读整理
  3. Excel表格打印时不打印标记填充颜色
  4. 3904三极管是什么功能_你了解三极管的种类吗
  5. 电脑没有声音,显示“未插入耳机或扬声器”,检测不到Realtek高清晰音频管理器...
  6. 关于NMDS的一知半解
  7. 魔方——一面两层之后的公式
  8. php转png在线转换,png转ico在线工具
  9. 王阳明让你内心强大的100句名言
  10. 生活技巧:过日子学着点