CN114065266A - 一种用户令牌生成方法、用户令牌验证方法及相关设备 - Google Patents
一种用户令牌生成方法、用户令牌验证方法及相关设备 Download PDFInfo
- Publication number
- CN114065266A CN114065266A CN202111434745.5A CN202111434745A CN114065266A CN 114065266 A CN114065266 A CN 114065266A CN 202111434745 A CN202111434745 A CN 202111434745A CN 114065266 A CN114065266 A CN 114065266A
- Authority
- CN
- China
- Prior art keywords
- token
- user
- user information
- algorithm
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种用户令牌生成方法,包括:当接收到客户端发送的用户信息时,利用JWT算法对用户信息进行签名,得到第一令牌;利用预设签名算法对用户信息进行签名,得到第二令牌;利用预设编码方法拼接第一令牌与第二令牌得到用户令牌,并将用户令牌发送至客户端;可对用户信息分别进行两次签名生成包含第一令牌和第二令牌的用户令牌,其中第一令牌可以小开支负载用户信息,而第二令牌则是用户信息的唯一数字摘要信息。由于第一令牌和第二令牌均由相同用户信息签名而来,因此服务端仅需对两令牌进行比对即可达到授权验证结果,无需额外存储用户信息,可有效节省资源。本发明还提供一种用户令牌验证方法及相关设备,具有上述有益效果。
Description
技术领域
本发明涉及网络应用领域,特别涉及一种用户令牌生成方法、用户令牌验证方法、装置、电子设备及存储介质。
背景技术
在网络应用领域中,为避免信息泄露等安全问题,服务端通常需要对用户进行授权认证。相关技术中,用户端首先需要在服务端进行注册,将用户信息(如用户名和密码)保存至服务端,而在进行授权认证时,用户端则需要将待验证用户信息发送至服务端,以便服务端利用已存储的用户信息核验用户端身份。然而在上述授权认证方式中,服务端需要额外存储用户端的用户信息,这不仅容易造成存储资源浪费,同时在进行验证时,服务端还需要额外查询已存储的用户信息,进而也容易导致计算资源浪费。
发明内容
本发明的目的是提供一种用户令牌生成方法、用户令牌验证方法、装置、电子设备及存储介质,可对用户信息分别进行两次签名生成包含第一令牌和第二令牌的用户令牌,进而服务端仅需对两令牌进行信息比对即可达到授权验证结果,无需额外存储用户信息,可有效节省存储和计算资源。
为解决上述技术问题,本发明提供一种用户令牌生成方法,包括:
当接收到客户端发送的用户信息时,利用JWT算法对所述用户信息进行签名,得到第一令牌;
利用预设签名算法对所述用户信息进行签名,得到第二令牌;
利用预设编码方法拼接所述第一令牌与所述第二令牌得到用户令牌,并将所述用户令牌发送至所述客户端。
可选地,所述利用JWT算法对所述用户信息进行签名,得到第一令牌,包括:
利用所述JWT算法对所述用户信息进行签名,得到初始令牌;所述用户信息位于所述初始令牌的负荷;
利用预设密钥对所述负荷进行对称加密,并利用加密后的负荷更新所述初始令牌,得到所述第一令牌。
可选地,所述利用预设编码方法拼接所述第一令牌与所述第二令牌得到用户令牌,包括:
利用预设特殊字符拼接所述第一令牌与所述第二令牌,得到初始用户令牌;
对所述初始用户令牌进行编码,得到所述用户令牌。
本发明还提供一种用户令牌验证方法,包括:
当接收到客户端发送的用户令牌时,利用预设编码方法将所述用户令牌还原为第一令牌和第二令牌;
利用JWT算法解析所述第一令牌,得到第一用户信息;
利用预设签名算法对所述第一用户信息进行签名,得到第三令牌;
当确定所述第三令牌与所述第二令牌一致时,判定所述客户端通过验证。
可选地,所述利用JWT算法解析所述第一令牌,得到第一用户信息,包括:
利用所述JWT算法解析所述第一令牌,得到所述第一令牌中的负荷;
利用预设密钥对所述负荷进行对称解密,得到所述第一用户信息。
可选地,所述利用预设编码方法将所述用户令牌还原为第一令牌和第二令牌,包括:
对所述用户令牌进行解码,还原出初始用户令牌;
根据预设特殊字符将所述用户令牌拆分为所述第一令牌和所述第二令牌。
本发明还提供一种用户令牌生成装置,包括:
第一签名模块,用于当接收到客户端发送的用户信息时,利用JWT算法对所述用户信息进行签名,得到第一令牌;
第二签名模块,用于利用预设签名算法对所述用户信息进行签名,得到第二令牌;
拼接模块,用于利用预设编码方法拼接所述第一令牌与所述第二令牌得到用户令牌,并将所述用户令牌发送至所述客户端。
本发明还提供一种用户令牌验证装置,包括:
还原模块,用于当接收到客户端发送的用户令牌时,利用预设编码方法将所述用户令牌还原为第一令牌和第二令牌;
解析模块,用于利用JWT算法解析所述第一令牌,得到第一用户信息;
签名模块,用于利用预设签名算法对所述第一用户信息进行签名,得到第三令牌;
验证模块,用于当确定所述第三令牌与所述第二令牌一致时,判定所述客户端通过验证。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现当接收到客户端发送的用户信息时,利用JWT算法对所述用户信息进行签名,得到第一令牌;利用预设签名算法对所述用户信息进行签名,得到第二令牌;利用预设编码方法拼接所述第一令牌与所述第二令牌得到用户令牌,并将所述用户令牌发送至所述客户端;和/或,用于执行所述计算机程序时实现当接收到客户端发送的用户令牌时,利用预设编码方法将所述用户令牌还原为第一令牌和第二令牌;利用JWT算法解析所述第一令牌,得到第一用户信息;利用预设签名算法对所述第一用户信息进行签名,得到第三令牌;当确定所述第三令牌与所述第二令牌一致时,判定所述客户端通过验证。
可选地,所述处理器,还用于执行所述计算机程序时实现利用所述JWT算法对所述用户信息进行签名,得到初始令牌;所述用户信息位于所述初始令牌的负荷;利用预设密钥对所述负荷进行对称加密,并利用加密后的负荷更新所述初始令牌,得到所述第一令牌;和/或,还用于执行所述计算机程序时实现利用所述JWT算法解析所述第一令牌,得到所述第一令牌中的负荷;利用预设密钥对所述负荷进行对称解密,得到所述第一用户信息。
可选地,所述处理器,还用于执行所述计算机程序时实现利用预设特殊字符拼接所述第一令牌与所述第二令牌,得到初始用户令牌;对所述初始用户令牌进行编码,得到所述用户令牌;和/或,还用于执行所述计算机程序时实现对所述用户令牌进行解码,还原出初始用户令牌;根据预设特殊字符将所述用户令牌拆分为所述第一令牌和所述第二令牌。
本发明还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的用户令牌生成方法和/或用户令牌验证方法。
本发明提供一种用户令牌生成方法,包括:当接收到客户端发送的用户信息时,利用JWT算法对所述用户信息进行签名,得到第一令牌;利用预设签名算法对所述用户信息进行签名,得到第二令牌;利用预设编码方法拼接第一令牌与第二令牌得到用户令牌,并将所述用户令牌发送至所述客户端。
可见,本发明在接收到客户端发送的用户信息时,首先会分别利用JWT算法以及另一预设签名算法对用户信息进行两次签名,得到第一令牌和第二令牌,其中JWT算法能够以较小的开支在第一令牌中负载用户信息,而预设签名算法则能够为用户信息生成唯一数字摘要信息。由于第一令牌和第二令牌均由相同的用户信息签名而来,同时预设签名算法的类型仅由服务端掌握,因此服务端在进行授权验证时,只需利用相同的签名算法对第一令牌中的用户信息进行重新签名并与第二令牌进行比对,便可根据比对结果是否相同来确定用户端是否篡改用户令牌,从而达到授权验证的效果,无需额外存储用户端的用户信息,能够有效避免存储用户信息导致的存储资源浪费,及额外查询已存储的用户信息导致的计算资源浪费。本发明还提供一种用户令牌验证方法、电子设备及存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种用户令牌生成方法的流程图;
图2为本发明实施例所提供的一种用户令牌验证方法的流程图;
图3为本发明实施例所提供的一种用户令牌生成装置的结构框图;
图4为本发明实施例所提供的一种用户令牌验证装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,用户端首先需要在服务端进行注册,将用户信息(如用户名和密码)保存至服务端,而在进行授权认证时,用户端则需要将待验证用户信息发送至服务端,以便服务端利用已存储的用户信息核验用户端身份。然而在上述授权认证方式中,服务端需要额外存储用户端的用户信息,这不仅容易造成存储资源浪费,同时在进行验证时,服务端还需要额外查询已存储的用户信息,进而也容易导致计算资源浪费。有鉴于此,本发明提供一种用户令牌生成方法,可对用户信息分别进行两次签名生成包含第一令牌和第二令牌的用户令牌,进而服务端仅需对两令牌进行信息比对即可达到授权验证结果,无需额外存储用户信息,可有效节省存储和计算资源。请参考图1,图1为本发明实施例所提供的一种用户令牌生成方法的流程图,该方法可以包括:
S101、当接收到客户端发送的用户信息时,利用JWT算法对用户信息进行签名,得到第一令牌。
JWT(JSON Web Token,基于JSON格式的网络令牌)是为了在网络应用环境间传递声明而设计的一种基于JSON的开放标准,其结构较为紧凑,能够以较小的开支负载用户信息,因此在本发明实施例中将使用JWT算法生成的令牌对用户信息进行负载。需要说明的是,本发明实施例并不限定使用JWT算法进行签名的具体过程,可参考JWT的相关技术。本发明实施例也不限定具体的用户信息,例如可以为用户名、用户ID等,可根据实际应用需求进行选择。
进一步,在JWT生成的令牌中,用户信息通常以明文形式进行负载,这样容易导致用户信息泄露。为提升第一令牌的安全性及可靠性,本发明实施例还可在利用JWT算法进行签名的过程中,增加加密步骤。本发明实施例并不限定是否对第一令牌进行整体加密,还是对第一令牌中负载有用户信息的部分(即第一令牌的负荷)进行加密,当整体加密能够满足应用要求时,可对第一令牌进行整体加密;若需要提升加密效率,也可以对第一令牌的负荷部分进行加密。在本发明实施例中,为快速加密第一令牌,将对第一令牌中负载有用户信息的部分进行加密。
进一步,本发明实施例并不限定使用何种方式对第一令牌的负荷进行加密,优选地,由于对称加密采用单一密钥进行加密,能够有效提升加密安全性,因此本发明实施例将使用对称加密方式对负荷进行加密。
在一种可能的情况中,利用JWT算法对用户信息进行签名,得到第一令牌,包括:
步骤11:利用JWT算法对用户信息进行签名,得到初始令牌;用户信息位于初始令牌的负荷;
步骤12:利用预设密钥对负荷进行对称加密,并利用加密后的负荷更新初始令牌,得到第一令牌。
需要说明的是,本发明实施例并不限定具体的对称加密方式,例如可以为AES(Advanced Encryption Standard,高级加密标准)、DES(Data Encryption Standard,数据加密标准)等,可根据实际应用需求进行选择。需强调的是,对称加密的预设密钥仅由服务端掌握。
S102、利用预设签名算法对用户信息进行签名,得到第二令牌。
本发明实施例将使用另一签名算法对用户信息进行第二次签名得到第二令牌,其中第二令牌是用户信息的唯一数字摘要信息(Digital Digest)。本发明实施例并不限定具体的预设签名算法,该算法既可以为JWT算法,也可以为其他不同类型的签名算法。为提升签名安全性,本发明实施例将使用与JWT算法不同的其他签名算法。由于预设签名算法的类型仅由服务端掌握,因此能够有效保障第二令牌的安全性。进一步,其他签名算法可以为MD5(Message-Digest Algorithm,信息摘要算法)、SHA1(Secure Hash Algorithm1,安全散列算法1)等哈希算法,可根据实际应用需求进行设定。本发明实施例并不限定签名的具体过程,可根据实际选用的预设签名算法参考相关技术。
S103、利用预设编码方法拼接第一令牌与第二令牌得到用户令牌,并将用户令牌发送至客户端。
本发明实施例并不限定具体的预设编码方法,例如可以利用例如当第一令牌和第二令牌的长度是固定的,可依照令牌长度对用户令牌进行拆分时,,可直接对第一令牌和第二令牌进行连接,并对连接后的初始用户令牌进行编码;也可以利用预设的特殊字符拼接第一令牌和第二令牌得到初始用户令牌,并对初始用户令牌进行编码。考虑到特殊字符能够有效提高解析提取效率,因此在本发明实施例中,将使用预设特殊字符拼接第一令牌和第二令牌得到初始用户令牌,并对初始用户令牌进行编码,得到用户令牌。需要说明的是,本发明实施例并不限定具体的预设特殊字符,可根据实际应用需求进行设定。
在一种可能的情况中,利用预设编码方法拼接第一令牌与第二令牌得到用户令牌,可以包括:
步骤21:利用预设特殊字符拼接第一令牌与第二令牌,得到初始用户令牌;
步骤22:对初始用户令牌进行编码,得到用户令牌。
需要说明的是,本发明实施例并不限定具体的编码方式,例如可以利用BASE64协议进行编码,也可采用其他编码协议,具体请参考编码协议的相关技术。
基于上述实施例,本发明在接收到客户端发送的用户信息时,首先会分别利用JWT算法以及另一预设签名算法对用户信息进行两次签名,得到第一令牌和第二令牌,其中JWT算法能够以较小的开支在第一令牌中负载用户信息,而预设签名算法则能够为用户信息生成唯一数字摘要信息。由于第一令牌和第二令牌均由相同的用户信息签名而来,同时预设签名算法的类型仅由服务端掌握,因此服务端在进行授权验证时,只需利用相同的签名算法对第一令牌中的用户信息进行重新签名并与第二令牌进行比对,便可根据比对结果是否相同来确定用户端是否篡改用户令牌,从而达到授权验证的效果,无需额外存储用户端的用户信息,能够有效避免存储用户信息导致的存储资源浪费,及额外查询已存储的用户信息导致的计算资源浪费。
基于上述实施例,下面将介绍针对本发明实施例所提供的用户令牌的校验方法。请参考图2,图2为本发明实施例所提供的一种用户令牌验证方法的流程图,该方法可以包括:
S201、当接收到客户端发送的用户令牌时,利用预设编码方法将用户令牌还原为第一令牌和第二令牌。
需要说明的是,本发明实施例并不限定将用户令牌还原为第一令牌和第二令牌的方式,可以理解的是该还原方式与编码方法相对应,可参考上述实施例中的介绍。由于预设编码方法优选为利用预设特殊字符拼接第一令牌和第二令牌得到初始用户令牌,并对初始用户令牌进行编码,因此对应的还原过程便是上述编码过程的逆过程。
在一种可能的情况中,利用预设编码方法将用户令牌还原为第一令牌和第二令牌,可以包括:
步骤31:对用户令牌进行解码,还原出初始用户令牌;
步骤32:根据预设特殊字符将用户令牌拆分为第一令牌和第二令牌。
需要说明的是,解码所使用的协议及拆分用户令牌的预设特殊字符均可参考上述实施例,此处不再赘述。
S202、利用JWT算法解析第一令牌,得到第一用户信息。
同样的,从第一令牌中解析出第一用户信息的过程,也与利用JWT算法进行签名的过程相反。例如当第一用户信息以明文形式保存在第一令牌的负荷中时,则直接取出第一令牌的负荷即可;当第一用户信息以对称加密的形式保存在负荷中时,则在取出负荷后,还需对负荷进行对称解密才可得到第一用户信息。在本发明实施例中,由于采用加密形式将用户信息保存至第一令牌能够提升其安全性,因此在解析第一令牌时,还需对负荷进行对称解密。
在一种可能的情况中,利用JWT算法解析第一令牌,得到第一用户信息,可以包括:
步骤41:利用JWT算法解析第一令牌,得到第一令牌中的负荷;
步骤42:利用预设密钥对负荷进行对称解密,得到第一用户信息。
需要说明的是,对称解密的具体过程与对称加密相对应,可参考上述对对称加密的限定描述,此处不再赘述。
S203、利用预设签名算法对第一用户信息进行签名,得到第三令牌。
在得到第一用户信息后,客户端便可利用与令牌生成阶段相同的预设签名算法,对第一用户信息进行重新签名,并与第二令牌进行比较。假若比较结果相同,则说明客户端安全,可判定验证通过;假若比较结果不同,则说明客户端篡改了用户信息或是第二令牌,此时说明客户端不安全,可判定验证未通过。
S204、当确定第三令牌与第二令牌一致时,判定客户端通过验证。
基于上述实施例,由于用户令牌中的第一令牌和第二令牌均由相同的用户信息签名而来,同时预设签名算法的类型仅由服务端掌握,因此服务端在进行授权验证时,只需利用相同的签名算法对第一令牌中的用户信息进行重新签名并与第二令牌进行比对,便可根据比对结果是否相同来确定用户端是否篡改用户令牌,从而达到授权验证的效果,无需额外存储用户端的用户信息,能够有效避免存储用户信息导致的存储资源浪费,以及额外查询已存储的用户信息导致的计算资源浪费。
下面对本发明实施例提供的用户令牌生成装置、用户令牌验证装置、电子设备及存储介质进行介绍,下文描述的用户令牌生成装置、用户令牌验证装置、电子设备及存储介质与上文描述的用户令牌生成方法及用户令牌验证f方法可相互对应参照。
请参考图3,图3为本发明实施例所提供的一种用户令牌生成装置的结构框图,该装置可以包括:
第一签名模块301,用于当接收到客户端发送的用户信息时,利用JWT算法对用户信息进行签名,得到第一令牌;
第二签名模块302,用于利用预设签名算法对用户信息进行签名,得到第二令牌;
拼接模块303,用于利用预设编码方法拼接第一令牌与第二令牌得到用户令牌,并将用户令牌发送至客户端。
可选地,第一签名模块301,可以包括:
JWT签名子模块,用于利用JWT算法对用户信息进行签名,得到初始令牌;用户信息位于初始令牌的负荷;
加密更新子模块,用于利用预设密钥对负荷进行对称加密,并利用加密后的负荷更新初始令牌,得到第一令牌。
可选地,拼接模块303,可以包括:
拼接子模块,用于利用预设特殊字符拼接第一令牌与第二令牌,得到初始用户令牌;
编码子模块,用于对初始用户令牌进行编码,得到用户令牌。
请参考图4,图4为本发明实施例所提供的一种用户令牌验证装置的结构框图,该装置可以包括:
还原模块401,用于当接收到客户端发送的用户令牌时,利用预设编码方法将用户令牌还原为第一令牌和第二令牌;
解析模块402,用于利用JWT算法解析第一令牌,得到第一用户信息;
签名模块403,用于利用预设签名算法对第一用户信息进行签名,得到第三令牌;
验证模块404,用于当确定第三令牌与第二令牌一致时,判定客户端通过验证。
可选地,解析模块402,可以包括:
JWT解析子模块,用于利用JWT算法解析第一令牌,得到第一令牌中的负荷;
解密子模块,用于利用预设密钥对负荷进行对称解密,得到第一用户信息。
可选地,还原模块401,可以包括:
解码子模块,用于对用户令牌进行解码,还原出初始用户令牌;
拆分子模块,用于根据预设特殊字符将用户令牌拆分为第一令牌和第二令牌。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现当接收到客户端发送的用户信息时,利用JWT算法对用户信息进行签名,得到第一令牌;利用预设签名算法对用户信息进行签名,得到第二令牌;利用预设编码方法拼接第一令牌与第二令牌得到用户令牌,并将用户令牌发送至客户端;和/或,用于执行计算机程序时实现当接收到客户端发送的用户令牌时,利用预设编码方法将用户令牌还原为第一令牌和第二令牌;利用JWT算法解析第一令牌,得到第一用户信息;利用预设签名算法对第一用户信息进行签名,得到第三令牌;当确定第三令牌与第二令牌一致时,判定客户端通过验证。
可选地,处理器,还用于执行计算机程序时实现利用JWT算法对用户信息进行签名,得到初始令牌;用户信息位于初始令牌的负荷;利用预设密钥对负荷进行对称加密,并利用加密后的负荷更新初始令牌,得到第一令牌;和/或,还用于执行计算机程序时实现利用JWT算法解析第一令牌,得到第一令牌中的负荷;利用预设密钥对负荷进行对称解密,得到第一用户信息。
可选地,处理器,还用于执行计算机程序时实现利用预设特殊字符拼接第一令牌与第二令牌,得到初始用户令牌;对初始用户令牌进行编码,得到用户令牌;和/或,还用于执行计算机程序时实现对用户令牌进行解码,还原出初始用户令牌;根据预设特殊字符将用户令牌拆分为第一令牌和第二令牌。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的用户令牌生成方法、用户令牌验证方法或用户令牌生成方法与用户令牌验证方法组合的步骤。
由于存储介质部分的实施例与用户令牌生成方法及用户令牌验证方法部分的实施例相互对应,因此存储介质部分的实施例请参见用户令牌生成方法及用户令牌验证方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种用户令牌生成方法、用户令牌验证方法、装置、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (12)
1.一种用户令牌生成方法,其特征在于,包括:
当接收到客户端发送的用户信息时,利用JWT算法对所述用户信息进行签名,得到第一令牌;
利用预设签名算法对所述用户信息进行签名,得到第二令牌;
利用预设编码方法拼接所述第一令牌与所述第二令牌得到用户令牌,并将所述用户令牌发送至所述客户端。
2.根据权利要求1所述的用户令牌生成方法,其特征在于,所述利用JWT算法对所述用户信息进行签名,得到第一令牌,包括:
利用所述JWT算法对所述用户信息进行签名,得到初始令牌;所述用户信息位于所述初始令牌的负荷;
利用预设密钥对所述负荷进行对称加密,并利用加密后的负荷更新所述初始令牌,得到所述第一令牌。
3.根据权利要求1所述的用户令牌生成方法,其特征在于,所述利用预设编码方法拼接所述第一令牌与所述第二令牌得到用户令牌,包括:
利用预设特殊字符拼接所述第一令牌与所述第二令牌,得到初始用户令牌;
对所述初始用户令牌进行编码,得到所述用户令牌。
4.一种用户令牌验证方法,其特征在于,包括:
当接收到客户端发送的用户令牌时,利用预设编码方法将所述用户令牌还原为第一令牌和第二令牌;
利用JWT算法解析所述第一令牌,得到第一用户信息;
利用预设签名算法对所述第一用户信息进行签名,得到第三令牌;
当确定所述第三令牌与所述第二令牌一致时,判定所述客户端通过验证。
5.根据权利要求4所述的用户令牌验证方法,其特征在于,所述利用JWT算法解析所述第一令牌,得到第一用户信息,包括:
利用所述JWT算法解析所述第一令牌,得到所述第一令牌中的负荷;
利用预设密钥对所述负荷进行对称解密,得到所述第一用户信息。
6.根据权利要求4所述的用户令牌验证方法,其特征在于,所述利用预设编码方法将所述用户令牌还原为第一令牌和第二令牌,包括:
对所述用户令牌进行解码,还原出初始用户令牌;
根据预设特殊字符将所述用户令牌拆分为所述第一令牌和所述第二令牌。
7.一种用户令牌生成装置,其特征在于,包括:
第一签名模块,用于当接收到客户端发送的用户信息时,利用JWT算法对所述用户信息进行签名,得到第一令牌;
第二签名模块,用于利用预设签名算法对所述用户信息进行签名,得到第二令牌;
拼接模块,用于利用预设编码方法拼接所述第一令牌与所述第二令牌得到用户令牌,并将所述用户令牌发送至所述客户端。
8.一种用户令牌验证装置,其特征在于,包括:
还原模块,用于当接收到客户端发送的用户令牌时,利用预设编码方法将所述用户令牌还原为第一令牌和第二令牌;
解析模块,用于利用JWT算法解析所述第一令牌,得到第一用户信息;
签名模块,用于利用预设签名算法对所述第一用户信息进行签名,得到第三令牌;
验证模块,用于当确定所述第三令牌与所述第二令牌一致时,判定所述客户端通过验证。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现当接收到客户端发送的用户信息时,利用JWT算法对所述用户信息进行签名,得到第一令牌;利用预设签名算法对所述用户信息进行签名,得到第二令牌;利用预设编码方法拼接所述第一令牌与所述第二令牌得到用户令牌,并将所述用户令牌发送至所述客户端;和/或,用于执行所述计算机程序时实现当接收到客户端发送的用户令牌时,利用预设编码方法将所述用户令牌还原为第一令牌和第二令牌;利用JWT算法解析所述第一令牌,得到第一用户信息;利用预设签名算法对所述第一用户信息进行签名,得到第三令牌;当确定所述第三令牌与所述第二令牌一致时,判定所述客户端通过验证。
10.根据权利要求9所述的电子设备,其特征在于,
所述处理器,还用于执行所述计算机程序时实现利用所述JWT算法对所述用户信息进行签名,得到初始令牌;所述用户信息位于所述初始令牌的负荷;利用预设密钥对所述负荷进行对称加密,并利用加密后的负荷更新所述初始令牌,得到所述第一令牌;和/或,还用于执行所述计算机程序时实现利用所述JWT算法解析所述第一令牌,得到所述第一令牌中的负荷;利用预设密钥对所述负荷进行对称解密,得到所述第一用户信息。
11.根据权利要求9所述的电子设备,其特征在于,
所述处理器,还用于执行所述计算机程序时实现利用预设特殊字符拼接所述第一令牌与所述第二令牌,得到初始用户令牌;对所述初始用户令牌进行编码,得到所述用户令牌;和/或,还用于执行所述计算机程序时实现对所述用户令牌进行解码,还原出初始用户令牌;根据预设特殊字符将所述用户令牌拆分为所述第一令牌和所述第二令牌。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至3任一项所述的用户令牌生成方法和/或4至6任一项所述的用户令牌验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111434745.5A CN114065266A (zh) | 2021-11-29 | 2021-11-29 | 一种用户令牌生成方法、用户令牌验证方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111434745.5A CN114065266A (zh) | 2021-11-29 | 2021-11-29 | 一种用户令牌生成方法、用户令牌验证方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114065266A true CN114065266A (zh) | 2022-02-18 |
Family
ID=80277270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111434745.5A Pending CN114065266A (zh) | 2021-11-29 | 2021-11-29 | 一种用户令牌生成方法、用户令牌验证方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114065266A (zh) |
-
2021
- 2021-11-29 CN CN202111434745.5A patent/CN114065266A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110691087B (zh) | 一种访问控制方法、装置、服务器及存储介质 | |
US11979505B2 (en) | File acquisition method and device based on two-dimensional code and two-dimensional code generating method | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、***及可读存储介质 | |
US20080172562A1 (en) | Encryption and authentication of data and for decryption and verification of authenticity of data | |
CN113259133B (zh) | 基于http协议的加密通讯方法、设备及存储介质 | |
CN112202754B (zh) | 一种数据加密方法、装置、电子设备及存储介质 | |
CN106911684B (zh) | 一种鉴权方法及*** | |
CN103095456A (zh) | 交易报文的处理方法和*** | |
CN111639325B (zh) | 基于开放平台的商户认证方法、装置、设备和存储介质 | |
CN114614994B (zh) | Api接口数据的通信方法、装置、客户端及存储介质 | |
CN107566360B (zh) | 一种数据认证码的生成方法 | |
KR101253683B1 (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
CN111339040A (zh) | 一种数据文件的云存储方法、装置、设备及存储介质 | |
CN107947939A (zh) | 支持sm3密码杂凑算法和sm2数字签名算法的pdf签名方法和*** | |
CN115002141A (zh) | 基于区块链的文件存储方法及装置 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、***及电子设备 | |
CN111249740A (zh) | 一种资源数据的访问方法及*** | |
CN114338648A (zh) | 一种基于国密算法的sftp多端文件安全传输的方法及*** | |
CN115550060B (zh) | 基于区块链的可信证书验证方法、装置、设备和介质 | |
CN115549930B (zh) | 登录操作***的验证方法 | |
CN111245594A (zh) | 一种基于同态运算的协同签名方法及*** | |
CN107404476B (zh) | 一种大数据云环境中数据安全的保护方法与装置 | |
CN114065266A (zh) | 一种用户令牌生成方法、用户令牌验证方法及相关设备 | |
CN115604034A (zh) | 一种通信连接的加解密方法、***及电子设备 | |
CN115022042A (zh) | 一种保护数据隐私的合规码验证方法和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |