[发明专利]基于区块链的验证码获取方法、客户端、服务器及存储介质有效
申请号: | 201910869882.8 | 申请日: | 2019-09-16 |
公开(公告)号: | CN110493261B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 何畅 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L9/08 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 区块 验证 获取 方法 客户端 服务器 存储 介质 | ||
1.一种基于区块链的验证码获取方法,其特征在于,所述方法包括:
向服务器发送验证码请求,所述验证码请求携带客户端的标识,所述标识为公钥地址,所述公钥地址为所述客户端本地私钥对应的公钥的地址,其中,所述服务器响应于所述验证码请求生成随机数,并从预设字符集中查询出与所述随机数匹配的字符,在得到与生成验证码的长度匹配的多个字符后,将所述多个字符按照查询出的先后顺序排列成目标验证码,或者将所述多个字符随机排列成目标验证码;所述预设字符集包括多个字符以及各个字符与数字的映射关系;所述服务器从所述验证码请求中获取所述客户端的公钥地址,根据所述公钥地址获取所述客户端本地私钥对应的公钥,并利用所述公钥对所述目标验证码进行加密,得到密文;所述服务器根据所述验证码请求、所述客户端的标识和所述密文生成验证数据,并将所述验证数据发布至区块链网络,以及获取所述验证数据在所述区块链网络中的存储地址,所述存储地址为所述区块链网络中存储所述验证数据的特定节点的节点地址,所述特定节点为根据所述验证数据生成目标区块的节点、距离所述服务器最近的节点、距离所述客户端最近的节点中的任意一个;
接收所述服务器发送的所述存储地址,并根据所述客户端的标识和所述存储地址从所述区块链网络中获取所述验证数据;
对所述验证数据中的密文进行解密得到所述目标验证码;输出验证码输入提示信息,接收针对验证码输入界面中的验证码输入框所输入的验证码;其中,在输入验证码的过程中,所述目标验证码一直显示在所述验证码输入界面的预设区域;
向所述服务器发送验证码校验请求,所述验证码校验请求携带所述输入的验证码和所述客户端的标识,所述验证码校验请求用于使所述服务器根据所述客户端的标识从所述存储地址对应的节点存储的密文请求记录中查询所述客户端获取所述验证数据的记录,若所述密文请求记录中不存在所述客户端获取所述验证数据的记录,则确定所述验证码校验请求携带的验证码校验不通过。
2.如权利要求1所述的方法,其特征在于,所述密文是所述服务器利用根据所述公钥地址获取到的公钥对所述目标验证码进行加密得到的;
所述对所述验证数据中的密文进行解密得到所述目标验证码,包括:
利用所述私钥对所述验证数据中的密文进行解密得到所述目标验证码。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述客户端的标识和所述存储地址从所述区块链网络中获取所述验证数据,包括:
向所述存储地址对应的所述区块链网络中的节点发送验证数据请求,所述验证数据请求携带所述客户端的标识,所述验证数据请求用于使所述节点获取与所述标识匹配的验证数据,并将获取到的验证数据发送给所述客户端;
接收所述节点发送的验证数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910869882.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种网络洪范攻击行为检测方法
- 下一篇:一种改进分类的网络攻击检测方法及系统