区块链验证码应用方法、设备和存储介质技术

技术编号:21514826 阅读:22 留言:0更新日期:2019-07-03 09:17
本发明专利技术提供一种区块链验证码应用方法、设备和存储介质,该方法包括:响应于用户端触发验证码验证,随机生成验证码;根据用户的第一公钥加密验证码,生成加密信息;根据用户的地址和加密信息生成交易并通过服务端的地址发送至区块链的节点以供执行以将服务端地址、用户地址和加密信息的对应关系记录在区块链上;向用户端发送服务端地址,以供在区块链的数据中查询服务端地址和用户地址的对应关系以获取加密信息,并用用户私钥对加密信息进行解密以获取验证码;接收用户端发送的验证码,判断验证码是否有效。本申请实现了无需绑定手机号或硬件设备且适用于去中心化系统的验证码方案。

Application Method, Equipment and Storage Medium of Block Chain Verification Code

【技术实现步骤摘要】
区块链验证码应用方法、设备和存储介质
本申请涉及互联网
,具体涉及一种区块链验证码应用方法、设备和存储介质。
技术介绍
当前验证码已广泛应用于互联网应用的身份认证方案中,例如账户登录、支付验证、其它各类身份认证等。现有的验证码方案通常都需要绑定手机号或手机硬件,基于中心化服务器与该手机的通信来实现验证码的验证,这些方案的缺陷在于,一旦用户更换了手机号或硬件设备,就需要重新配置账户与手机号或硬件设备的绑定关系,而随着绑定关系的增长,导致用户换号或换机成本大幅增长,给用户带来极大的不便。此外,这些方案不适用于去中心化的区块链系统。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种无需绑定手机号或硬件设备且适用于去中心化系统的区块链验证码应用方法、设备和存储介质。第一方面,本专利技术提供一种区块链验证码应用方法,适用于服务端,该服务端被授权存有或获取各用户的公钥和相应的地址,该方法包括:响应于第一用户的用户端触发验证码验证,随机生成第一验证码;根据第一用户的第一公钥加密第一验证码,生成第一加密信息;根据第一用户的第一地址和第一加密信息生成第一交易并通过服务端的第二地址发送至第一区块链的节点以供执行以将第二地址、第一地址和第一加密信息的对应关系记录在第一区块链上;向第一用户的用户端发送第二地址,以供在第一区块链的数据中查询第二地址和第一地址的对应关系以获取第一加密信息,并用对应于第一公钥的第一私钥对第一加密信息进行解密以获取第二验证码;接收第一用户的用户端发送的第二验证码,比对第二验证码与第一验证码是否相同以判断第二验证码是否有效。第二方面,本专利技术提供另一种区块链验证码应用方法,适用于区块链的节点,该方法包括:接收第一交易;其中,第一交易由第一服务端响应于第一用户的用户端触发验证码验证,随机生成第一验证码,根据第一用户的第一公钥加密第一验证码,生成第一加密信息后,根据第一用户的第一地址和第一加密信息生成并通过第二地址发送;第一服务端被授权存有或获取各用户的公钥和相应的地址;执行第一交易以将第二地址、第一地址和第一加密信息的对应关系记录在第一区块链上,以供第一用户的用户端接收第一服务端发送的第二地址后在第一区块链的数据中查询第二地址和第一地址的对应关系以获取第一加密信息,用对应于第一公钥的第一私钥对第一加密信息进行解密以获取第二验证码,将第二验证码发送至第一服务端以供比对第二验证码与第一验证码是否相同以判断第二验证码是否有效。第三方面,本专利技术提供又一种区块链验证码应用方法,适用于用户端,该方法包括:接收第一服务端发送的第二地址;其中,第一服务端被授权存有或获取各用户的公钥和相应的地址,第一服务端响应于当前用户的服务端触发验证码验证,随机生成第一验证码,根据当前用户的第一公钥加密第一验证码,生成第一加密信息,根据当前用户的第一地址和第一加密信息生成第一交易并通过第二地址发送至第一区块链的节点以供执行以将第二地址、第一地址和第一加密信息的对应关系记录在第一区块链上;在第一区块链的数据中查询第二地址和第一地址的对应关系以获取第一加密信息;用对应于第一公钥的第一私钥对第一加密信息进行解密以获取第二验证码;将第二验证码发送至第一服务端以供比对第二验证码与第一验证码是否相同以判断第二验证码是否有效。第四方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的区块链验证码应用方法。第五方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的区块链验证码应用方法。本专利技术诸多实施例提供的区块链验证码应用方法、设备和存储介质通过将根据用户公钥加密的验证码、用户地址与服务端地址的对应关系记录在区块链上,使得用户端可以在区块链上查询到加密的验证码并通过用户私钥解密,并将解密获得的验证码发给服务端进行验证,从而实现了无需绑定手机号或硬件设备且适用于去中心化系统的验证码方案;本专利技术一些实施例提供的区块链验证码应用方法、设备和存储介质进一步通过为验证码配置有效期并验证验证码是否过期,进一步保障了验证码的安全性;本专利技术一些实施例提供的区块链验证码应用方法、设备和存储介质进一步通过区块链上记录验证码标识符,使用户端可以在短期内需要获取多条同一服务端的不同验证码时可以精确查找到验证码的加密信息。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例提供的一种区块链验证码应用方法的流程图。图2为本专利技术一实施例提供的另一种区块链验证码应用方法的流程图。图3为本专利技术一实施例提供的又一种区块链验证码应用方法的流程图。图4为本专利技术一实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1为本专利技术一实施例提供的一种区块链验证码应用方法的流程图。如图1所示,在本实施例中,本专利技术提供一种适用于服务端的区块链验证码应用方法,该服务端被授权存有或获取各用户的公钥和相应的地址,该方法包括:S11:响应于第一用户的用户端触发验证码验证,随机生成第一验证码;S13:根据第一用户的第一公钥加密第一验证码,生成第一加密信息;S15:根据第一用户的第一地址和第一加密信息生成第一交易并通过服务端的第二地址发送至第一区块链的节点以供执行以将第二地址、第一地址和第一加密信息的对应关系记录在第一区块链上;S17:向第一用户的用户端发送第二地址,以供在第一区块链的数据中查询第二地址和第一地址的对应关系以获取第一加密信息,并用对应于第一公钥的第一私钥对第一加密信息进行解密以获取第二验证码;S19:接收第一用户的用户端发送的第二验证码,比对第二验证码与第一验证码是否相同以判断第二验证码是否有效。以下以用户A的用户端向X软件的服务端请求业务数据,触发了X软件的服务端的验证码验证为例,对上述方法进行示例性的阐述。在本实施例中,X软件的服务端配置在单独的中心化服务器中;在另一实施例中,X软件的服务端可以配置在第一区块链的节点中(具体可以配置为第一区块链的合约,也可以配置为第一区块链的节点的本地服务,等),还可以配置在第二区块链的节点中(同样可以配置为合约或本地服务等)。在本实施例中,X软件的服务端要求用户在注册账户时提供公钥与对应的地址,从而存有各用户的公钥和相应的地址;在另一实施例中,X软件的服务端还可以配置为要求用户在注册账户时授权服务端在进行验证码验证时获取用户的公钥和相应的地址,可实现相同的技术效果。当用户A的用户端向X软件的服务端请求业务数据,触发验证码的验证:在步骤S11中,X软件的服务端响应于上述触发,随机生成若干位字符的第一验证码c1;在步骤S13中,X软件的服务端根据所存储的用户A的公钥PA对第一验证码c1进行加密,生成第一加密信息m1;在步本文档来自技高网...

【技术保护点】
1.一种区块链验证码应用方法,其特征在于,所述方法适用于服务端,所述服务端被授权存有或获取各用户的公钥和相应的地址,所述方法包括:响应于第一用户的用户端触发验证码验证,随机生成第一验证码;根据所述第一用户的第一公钥加密所述第一验证码,生成第一加密信息;根据所述第一用户的第一地址和所述第一加密信息生成第一交易并通过所述服务端的第二地址发送至第一区块链的节点以供执行以将所述第二地址、所述第一地址和所述第一加密信息的对应关系记录在第一区块链上;向所述第一用户的用户端发送所述第二地址,以供在所述第一区块链的数据中查询所述第二地址和所述第一地址的对应关系以获取所述第一加密信息,并用对应于所述第一公钥的第一私钥对所述第一加密信息进行解密以获取第二验证码;接收所述第一用户的用户端发送的所述第二验证码,比对所述第二验证码与所述第一验证码是否相同以判断所述第二验证码是否有效。

【技术特征摘要】
1.一种区块链验证码应用方法,其特征在于,所述方法适用于服务端,所述服务端被授权存有或获取各用户的公钥和相应的地址,所述方法包括:响应于第一用户的用户端触发验证码验证,随机生成第一验证码;根据所述第一用户的第一公钥加密所述第一验证码,生成第一加密信息;根据所述第一用户的第一地址和所述第一加密信息生成第一交易并通过所述服务端的第二地址发送至第一区块链的节点以供执行以将所述第二地址、所述第一地址和所述第一加密信息的对应关系记录在第一区块链上;向所述第一用户的用户端发送所述第二地址,以供在所述第一区块链的数据中查询所述第二地址和所述第一地址的对应关系以获取所述第一加密信息,并用对应于所述第一公钥的第一私钥对所述第一加密信息进行解密以获取第二验证码;接收所述第一用户的用户端发送的所述第二验证码,比对所述第二验证码与所述第一验证码是否相同以判断所述第二验证码是否有效。2.根据权利要求1所述的方法,其特征在于,所述第一验证码配置有固定时长或固定区块高度数量的有效期,所述有效期的生效时间为所述第一交易记录在所述第一区块链上的时间点或区块高度。3.根据权利要求1或2所述的方法,其特征在于,所述第一交易和所述第二地址、所述第一地址和所述第一加密信息的对应关系还包括验证码标识符;所述向所述第一用户的用户端发送所述第二地址,以供在所述第一区块链的数据中查询所述第二地址和所述第一地址的对应关系以获取所述第一加密信息包括:向所述第一用户的用户端发送所述第二地址和所述验证码标识符,以供在所述第一区块链的数据中查询所述第二地址、所述验证码标识符和所述第一地址的对应关系以获取所述第一加密信息。4.一种区块链验证码应用方法,其特征在于,所述方法适用于区块链的节点,所述方法包括:接收第一交易;其中,所述第一交易由第一服务端响应于第一用户的用户端触发验证码验证,随机生成第一验证码,根据所述第一用户的第一公钥加密所述第一验证码,生成第一加密信息后,根据所述第一用户的第一地址和所述第一加密信息生成并通过第二地址发送;所述第一服务端被授权存有或获取各用户的公钥和相应的地址;执行所述第一交易以将所述第二地址、所述第一地址和所述第一加密信息的对应关系记录在第一区块链上,以供所述第一用户的用户端接收所述第一服务端发送的所述第二地址后在所述第一区块链的数据中查询所述第二地址和所述第一地址的对应关系以获取所述第一加密信息,用...

【专利技术属性】
技术研发人员:魏吉星吴思进王志文
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1