1.一种身份验证的方法,其特征在于,包括:
终端设备扫描客户端设备生成的二维码,以使已扫描所述二维码的所述终端设备注册到服务器,所述二维码由所述客户端设备基于一次性密码所生成;
所述终端设备将第一验证数据发送给所述服务器,以使所述服务器将第二验证数据发送给所述终端设备,所述第二验证数据为所述服务器根据单向散列函数对所述第一验证数据进行计算以生成的数据;
所述终端设备根据所述单向散列函数对所述第二验证数据进行计算以生成第三验证数据;
所述终端设备将所述第三验证数据发送给所述服务器设备,以使所述服务器将指示信息发送给所述客户端设备,所述指示信息用于指示所述终端设备已通过验证。
2.根据权利要求1所述的方法,其特征在于,所述终端设备扫描客户端设备生成的二维码之后,所述方法包括:
所述终端设备生成与所述终端设备对应的第一注册数据;
所述终端设备将所述第一注册数据发送给所述服务器,以使所述服务器将第二注册数据发送给所述终端设备,所述第二注册数据为所述服务器根据所述单向散列函数对所述第一注册数据和预设密钥进行计算以生成的数据,所述预设密钥为所述服务器预先存储的密钥;
所述终端设备接收所述第二注册数据。
3.根据权利要求2所述的方法,其特征在于,所述终端设备将第一验证数据发送给所述服务器之前,所述方法还包括:
所述终端设备记录第一时间戳,所述第一时间戳为所述终端设备检测到所述终端设备扫描所述二维码结束的时间;
所述终端设备生成所述第一验证数据,所述第一验证数据包括所述第一时间戳和所述第二注册数据,以使所述服务器确定所述第一验证数据满足第一预设条件的情况下,生成所述第二验证数据,所述第一预设条件为所述第一时间戳等于第二时间戳,所述第二时间戳为所述服务器检测到所述终端设备扫描所述二维码结束的时间,所述第二验证数据包括第一子数据、第二子数据以及所述第二时间戳,其中,所述第一子数据为所述服务器根据所述单向散列函数对目标随机数、所述第一时间戳和所述第二时间戳进行计算以生成的数据,所述目标随机数为所述服务器随机生成的数据,所述第二子数据为所述服务器通过第一函数对第一参数进行计算以生成的数据,所述第一参数为所述服务器对所述目标随机数和所述第二注册数据进行异或运算所生成的数据。
4.根据权利要求1至3任一项所述方法,其特征在于,所述终端设备根据所述单向散列函数对所述第二验证数据进行计算以生成第三验证数据之前,所述方法还包括:
所述终端设备接收所述第二验证数据,所述第二验证数据包括第二时间戳,所述第二时间戳为所述服务器检测到所述终端设备扫描所述二维码结束的时间;
所述终端设备判断所述第二验证数据是否满足第二预设条件,所述第二预设条件为第一时间戳等于所述第二时间戳,所述第一时间戳为所述终端设备检测到所述终端设备扫描所述二维码结束的时间;
若所述终端设备判断出所述第二验证数据满足第二预设条件,则触发执行所述终端设备根据所述单向散列函数对所述第二验证数据进行计算以生成第三验证数据的步骤。
5.根据权利要求3所述的方法,其特征在于,所述终端设备根据所述单向散列函数对所述第二验证数据进行计算以生成第三验证数据包括:
所述终端设备通过第二函数对所述第二验证数据所包括的所述第二子数据进行计算以生成第二参数;
所述终端设备对所述第二参数和所述第二注册数据通过异或运算进行计算以生成所述目标随机数;
所述终端设备通过所述单向散列函数对所述目标随机数、所述第一时间戳以及所述第二时间戳进行计算以生成第三参数;
所述终端设备判断所述第三参数是否满足第三预设条件,所述第三预设条件为所述第三参数等于所述第一子数据;
若所述终端设备判断出所述第三参数满足第三预设条件,则所述终端设备获取第三时间戳,所述第三时间戳为所述终端设备检测到所述终端设备扫描所述二维码开始的时间;
所述终端设备确定所述第三验证数据包括所述第三参数和所述第三时间戳,以使所述服务器在确定出所述第三验证数据满足第四预设条件的情况下,生成所述指示信息,所述第四预设条件为所述第一时间戳和所述第三时间戳之间的差值小于或等于预设阈值,且所述第四预设条件还为所述第三参数和所述服务器所存储的所述第二验证数据所包括的所述第一子数据相等。
6.一种身份验证的方法,其特征在于,包括:
服务器接收终端设备发送的第一验证数据,所述第一验证数据为所述终端设备注册到所述服务器后所生成的用于进行验证的数据,所述终端设备通过扫描客户端设备生成的二维码注册到所述服务器,所述二维码由所述客户端设备基于一次性密码所生成;
所述服务器根据单向散列函数对所述第一验证数据进行计算以生成第二验证数据;
所述服务器将所述第二验证数据发送给所述终端设备,以使所述终端设备根据所述单向散列函数对所述第二验证数据进行计算以生成第三验证数据;
所述服务器接收所述终端设备发送的所述第三验证数据;
所述服务器根据所述第三验证数据生成指示信息,所述指示信息用于指示所述终端设备已通过验证;
所述服务器将所述指示信息发送给所述客户端设备。
7.根据权利要求6所述的方法,其特征在于,所述服务器接收终端设备发送的第一验证数据之前,所述方法还包括:
所述服务器接收所述终端设备发送的与所述终端设备对应的第一注册数据;
所述服务器根据所述单向散列函数对所述第一注册数据和预设密钥进行计算以生成第二注册数据,所述预设密钥为所述服务器预先存储的密钥;
所述服务器将所述第二注册数据发送给所述终端设备。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述服务器记录第二时间戳,所述第二时间戳为所述服务器检测到所述终端设备扫描所述二维码结束的时间;
所述服务器接收终端设备发送的第一验证数据之后,所述方法还包括:
所述服务器判断所述第一验证数据是否满足第一预设条件,所述第一验证数据包括第一时间戳和所述第二注册数据,所述第一时间戳为所述终端设备检测到所述终端设备扫描所述二维码结束的时间,所述第一预设条件为所述第一时间戳等于第二时间戳;
若所述服务器判断出所述第一验证数据满足所述第一预设条件,则触发执行所述服务器根据单向散列函数对所述第一验证数据进行计算以生成第二验证数据的步骤。
9.根据权利要求8所述方法,其特征在于,所述服务器根据单向散列函数对所述第一验证数据进行计算以生成第二验证数据包括:
所述服务器根据所述单向散列函数对所述目标随机数、所述第一时间戳和所述第二时间戳进行计算以生成第一子数据,所述目标随机数为所述服务器随机生成的数据;
所述服务器对所述目标随机数和所述第二注册数据进行异或运算以生成第一参数;
所述服务器通过第一函数对所述第一参数进行计算以生成第二子数据;
所述服务器生成第二验证数据,所述第二验证数据包括所述第一子数据、所述第二子数据以及所述第二时间戳。
10.根据权利要求9所述的方法,其特征在于,所述第三验证数据包括第三参数和第三时间戳,所述第三参数为所述终端设备通过所述单向散列函数对所述目标随机数、所述第一时间戳以及所述第二时间戳进行计算以生成的参数,所述目标随机数为所述终端设备对第二参数和所述第二注册数据通过异或运算进行计算以生成的随机数,所述第二参数为所述终端设备通过第二函数对所述第二验证数据所包括的所述第二子数据进行计算以生成的参数,所述第三时间戳为所述终端设备检测到所述终端设备扫描所述二维码开始的时间;
所述服务器根据所述第三验证数据生成指示信息包括:
所述服务器判断所述第三验证数据是否满足第四预设条件,所述第四预设条件为所述第一时间戳和所述第三时间戳之间的差值小于或等于预设阈值,且所述第四预设条件还为所述第三参数和所述服务器所存储的所述第二验证数据所包括的所述第一子数据相等;
若所述服务器判断出所述第三验证数据满足所述第四预设条件,则所述服务器生成所述指示信息。
11.一种终端设备,其特征在于,包括:
扫描单元,用于扫描客户端设备生成的二维码,以使已扫描所述二维码的所述终端设备注册到服务器,所述二维码由所述客户端设备基于一次性密码所生成;
第一发送单元,用于将第一验证数据发送给所述服务器,以使所述服务器将第二验证数据发送给所述终端设备,所述第二验证数据为所述服务器根据单向散列函数对所述第一验证数据进行计算以生成的数据;
计算单元,用于根据所述单向散列函数对所述第二验证数据进行计算以生成第三验证数据;
第二发送单元,用于将所述第三验证数据发送给所述服务器设备,以使所述服务器将指示信息发送给所述客户端设备,所述指示信息用于指示所述终端设备已通过验证。
12.根据权利要求11所述的终端设备,其特征在于,所述终端设备还包括:
第一生成单元,用于生成与所述终端设备对应的第一注册数据;
第三发送单元,用于将所述第一注册数据发送给所述服务器,以使所述服务器将第二注册数据发送给所述终端设备,所述第二注册数据为所述服务器根据所述单向散列函数对所述第一注册数据和预设密钥进行计算以生成的数据,所述预设密钥为所述服务器预先存储的密钥;
第一接收单元,用于接收所述第二注册数据。
13.根据权利要求12所述的终端设备,其特征在于,所述终端设备还包括:
第一记录单元,用于记录第一时间戳,所述第一时间戳为所述终端设备检测到所述终端设备扫描所述二维码结束的时间;
第二生成单元,用于生成所述第一验证数据,所述第一验证数据包括所述第一时间戳和所述第二注册数据,以使所述服务器确定所述第一验证数据满足第一预设条件的情况下,生成所述第二验证数据,所述第一预设条件为所述第一时间戳等于第二时间戳,所述第二时间戳为所述服务器检测到所述终端设备扫描所述二维码结束的时间,所述第二验证数据包括第一子数据、第二子数据以及所述第二时间戳,其中,所述第一子数据为所述服务器根据所述单向散列函数对目标随机数、所述第一时间戳和所述第二时间戳进行计算以生成的数据,所述目标随机数为所述服务器随机生成的数据,所述第二子数据为所述服务器通过第一函数对第一参数进行计算以生成的数据,所述第一参数为所述服务器对所述目标随机数和所述第二注册数据进行异或运算所生成的数据。
14.根据权利要求11至13任一项所述的终端设备,其特征在于,所述终端设备还包括:
第二接收单元,用于接收所述第二验证数据,所述第二验证数据包括第二时间戳,所述第二时间戳为所述服务器检测到所述终端设备扫描所述二维码结束的时间;
第一判断单元,用于判断所述第二验证数据是否满足第二预设条件,所述第二预设条件为第一时间戳等于所述第二时间戳,所述第一时间戳为所述终端设备检测到所述终端设备扫描所述二维码结束的时间;
触发单元,用于若所述第一判断单元判断出所述第二验证数据满足第二预设条件,则触发执行所述计算单元执行根据所述单向散列函数对所述第二验证数据进行计算以生成第三验证数据的步骤。
15.根据权利要求13所述的终端设备,其特征在于,所述计算单元包括:
第一计算模块,用于通过第二函数对所述第二验证数据所包括的所述第二子数据进行计算以生成第二参数;
第二计算模块,用于对所述第二参数和所述第二注册数据通过异或运算进行计算以生成所述目标随机数;
第三计算模块,用于通过所述单向散列函数对所述目标随机数、所述第一时间戳以及所述第二时间戳进行计算以生成第三参数;
判断模块,用于判断所述第三参数是否满足第三预设条件,所述第三预设条件为所述第三参数等于所述第一子数据;
获取模块,用于若所述判断模块判断出所述第三参数满足第三预设条件,则获取第三时间戳,所述第三时间戳为所述终端设备检测到所述终端设备扫描所述二维码开始的时间;
确定模块,用于确定所述第三验证数据包括所述第三参数和所述第三时间戳,以使所述服务器在确定出所述第三验证数据满足第四预设条件的情况下,生成所述指示信息,所述第四预设条件为所述第一时间戳和所述第三时间戳之间的差值小于或等于预设阈值,且所述第四预设条件还为所述第三参数和所述服务器所存储的所述第二验证数据所包括的所述第一子数据相等。
16.一种服务器,其特征在于,包括:
第一接收单元,用于接收终端设备发送的第一验证数据,所述第一验证数据为所述终端设备注册到所述服务器后所生成的用于进行验证的数据,所述终端设备通过扫描客户端设备生成的二维码注册到所述服务器,所述二维码由所述客户端设备基于一次性密码所生成;
第一计算单元,用于根据单向散列函数对所述第一验证数据进行计算以生成第二验证数据;
第一发送单元,用于将所述第二验证数据发送给所述终端设备,以使所述终端设备根据所述单向散列函数对所述第二验证数据进行计算以生成第三验证数据;
第一接收单元,用于接收所述终端设备发送的所述第三验证数据;
生成单元,用于根据所述第三验证数据生成指示信息,所述指示信息用于指示所述终端设备已通过验证;
第二发送单元,用于将所述指示信息发送给所述客户端设备。
17.根据权利要求16所述的服务器,其特征在于,所述服务器还包括:
第二接收单元,用于接收所述终端设备发送的与所述终端设备对应的第一注册数据;
第二计算单元,用于根据所述单向散列函数对所述第一注册数据和预设密钥进行计算以生成第二注册数据,所述预设密钥为所述服务器预先存储的密钥;
第二发送单元,用于将所述第二注册数据发送给所述终端设备。
18.根据权利要求17所述的服务器,其特征在于,所述服务器还包括:
记录单元,用于记录第二时间戳,所述第二时间戳为所述服务器检测到所述终端设备扫描所述二维码结束的时间;
判断单元,用于判断所述第一验证数据是否满足第一预设条件,所述第一验证数据包括第一时间戳和所述第二注册数据,所述第一时间戳为所述终端设备检测到所述终端设备扫描所述二维码结束的时间,所述第一预设条件为所述第一时间戳等于第二时间戳;
触发单元,用于若所述判断单元判断出所述第一验证数据满足所述第一预设条件,则触发所述第一计算单元执行根据单向散列函数对所述第一验证数据进行计算以生成第二验证数据的步骤。
19.根据权利要求18所述的服务器,其特征在于,所述第一计算单元包括:
第一计算模块,用于根据所述单向散列函数对所述目标随机数、所述第一时间戳和所述第二时间戳进行计算以生成第一子数据,所述目标随机数为所述服务器随机生成的数据;
第二计算模块,用于对所述目标随机数和所述第二注册数据进行异或运算以生成第一参数;
第三计算模块,用于通过第一函数对所述第一参数进行计算以生成第二子数据;
第一生成模块,用于生成第二验证数据,所述第二验证数据包括所述第一子数据、所述第二子数据以及所述第二时间戳。
20.根据权利要求19所述的服务器,其特征在于,所述第三验证数据包括第三参数和第三时间戳,所述第三参数为所述终端设备通过所述单向散列函数对所述目标随机数、所述第一时间戳以及所述第二时间戳进行计算以生成的参数,所述目标随机数为所述终端设备对第二参数和所述第二注册数据通过异或运算进行计算以生成的随机数,所述第二参数为所述终端设备通过第二函数对所述第二验证数据所包括的所述第二子数据进行计算以生成的参数,所述第三时间戳为所述终端设备检测到所述终端设备扫描所述二维码开始的时间;
所述生成单元包括:
判断模块,用于判断所述第三验证数据是否满足第四预设条件,所述第四预设条件为所述第一时间戳和所述第三时间戳之间的差值小于或等于预设阈值,且所述第四预设条件还为所述第三参数和所述服务器所存储的所述第二验证数据所包括的所述第一子数据相等;
第二生成模块,用于若所述判断模块判断出所述第三验证数据满足所述第四预设条件,则生成所述指示信息。