CN113392369A - 身份标识生成方法及装置、存储介质及电子设备 - Google Patents
身份标识生成方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113392369A CN113392369A CN202110571190.2A CN202110571190A CN113392369A CN 113392369 A CN113392369 A CN 113392369A CN 202110571190 A CN202110571190 A CN 202110571190A CN 113392369 A CN113392369 A CN 113392369A
- Authority
- CN
- China
- Prior art keywords
- identity
- openid
- user
- function
- generating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000006870 function Effects 0.000 claims description 193
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000001419 dependent effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供一种身份标识生成方法及装置、电子设备、计算机可读存储介质,涉及计算机技术领域。所述身份标识生成方法包括:获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的身份标识生成函数,其中,所述身份标识生成函数为严格单调函数,且所述身份标识生成函数与所述第三方应用一一对应;获取用户的身份信息,依据所述身份信息以及所述身份标识生成函数为所述用户生成对应的身份标识。本公开利用严格单调函数生成用户的身份标识,达到了节约系统存储空间、无需进行大量运算等效果。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种身份标识生成方法、身份标识生成装置、电子设备以及计算机可读存储介质。
背景技术
随着计算机和网络通信技术的不断发展,各类应用软件应运而生,极大了地丰富和方便了人民的日常生活与工作。在很多时候,内部系统的用户常常需要访问外部的第三方应用,在这一访问过程中,唯一的身份标识是系统安全性的必要保障,例如,openId便是所有开放平台在基于oauth2.0进行授权后,反馈给外部ISV(独立软件开发商)的系统内部用户的唯一标识。
相关技术中,主要通过hash算法(哈希算法)或对称加解密算法为第三方应用生成对应的用户openId。然而,上述方法存在空间浪费、运算复杂以及生成的openId长度没有范围,占用网络IO(输入输出)等问题。
因此,为了解决上述问题,需要提供一种身份标识生成方法,以达到节约系统存储空间、简化运算以及缩短生成的用户openId的长度的效果。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种身份标识生成方法、身份标识生成装置、电子设备以及计算机可读存储介质,从而在一定程度上解决了相关技术存在的空间浪费、运算复杂以及生成的身份标识长度没有范围,占用网络IO(输入输出)等问题。
根据本公开的第一方面,提供一种身份标识生成方法,包括:
获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的身份标识生成函数,其中,所述身份标识生成函数为严格单调函数,且所述身份标识生成函数与所述第三方应用一一对应;
获取用户的身份信息,依据所述身份信息以及所述身份标识生成函数为所述用户生成对应的身份标识。
在本公开的一种示例性实施例中,所述方法还包括:
计算所述身份标识生成函数的反函数;
获取所述用户身份标识,根据所述用户身份标识及所述反函数得到所述用户的身份信息。
在本公开的一种示例性实施例中,所述身份标识为OpenID,所述身份标识生成函数为OpenID生成函数;
所述获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的身份标识生成函数,包括:
获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的OpenID生成函数;
所述获取用户的身份信息,依据所述身份信息以及所述身份标识生成函数为所述用户生成对应的身份标识,包括:
获取用户的身份信息,依据所述身份信息以及所述OpenID生成函数为所述用户生成对应的OpenID。
在本公开的一种示例性实施例中,所述方法还包括:
计算所述OpenID生成函数的反函数;
获取所述用户对应的OpenID,根据所述OpenID及所述反函数得到所述用户的身份信息。
在本公开的一种示例性实施例中,在所述依据所述身份信息以及所述OpenID生成函数为所述用户生成对应的OpenID之后,所述方法还包括:
对所述用户对应的OpenID进行编码;并且
在所述获取所述用户对应的OpenID之后,所述方法还包括:
获取编码后的所述用户OpenID并解码。
在本公开的一种示例性实施例中,所述获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的OpenID生成函数,包括:
从所述应用信息中获取所述第三方应用的应用标识信息;
为所述第三方应用随机生成非零斜率a,并将所述应用标识信息作为偏移量b,生成所述OpenID生成函数:y=ax+b。
在本公开的一种示例性实施例中,所述依据所述身份信息以及所述OpenID生成函数为所述用户生成对应的OpenID,包括:
基于所述用户的身份信息得到所述OpenID生成函数的自变量x;
将所述自变量x输入所述OpenID生成函数y=ax+b,得到因变量y并对所述因变量y编码,得到所述用户对应的OpenID。
在本公开的一种示例性实施例中,所述方法还包括:
所述计算所述OpenID生成函数的反函数,包括:
计算所述OpenID生成函数y=ax+b的反函数y=(x-b)/a;
所述根据所述用户OpenID及所述反函数得到所述用户的身份信息,包括:
获取所述用户对应的OpenID并解码,将解码后的所述用户对应的OpenID输入所述反函数y=(x-b)/a,得到所述用户的身份信息。
根据本公开的第二方面,提供一种身份标识生成装置,包括:
生成函数确定模块,用于获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的身份标识生成函数,其中,所述身份标识生成函数为严格单调函数,且所述身份标识生成函数与所述第三方应用一一对应;
身份标识生成模块,用于获取用户的身份信息,依据所述身份信息以及所述身份标识生成函数为所述用户生成对应的身份标识。
在本公开的一种示例性实施例中,所述装置还包括:
反函数计算模块,用于计算所述身份标识生成函数的反函数;
用户身份确定模块,用于获取所述用户身份标识,根据所述用户身份标识及所述反函数得到所述用户的身份信息。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开示例实施方式所提供的身份标识生成方法中,获取第三方应用的应用信息,并依据获取到的应用信息生成与第三方应用对应的身份标识生成函数,其中,身份标识生成函数为严格单调函数,且身份标识生成函数与第三方应用一一对应;获取用户的身份信息,依据用户的身份信息以及身份标识生成函数为用户生成对应的身份标识。一方面,本示例实施方式所提供的身份标识生成方法通过用户的身份信息和作为身份标识生成函数的严格单调函数为第三方应用生成对应的用户身份标识,由于严格单调函数具有唯一的反函数,因此,通过严格单调函数生成的用户身份标识与用户身份信息可以通过函数互相推算得到,因此,不需要保存用户身份信息与用户身份标识之间的映射关系,且生成的用户身份标识的长度较短,节约了系统的存储空间。另一方面,相比于通过hash算法或加解密算法,计算简单,提高了效率,节约了计算机资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种用户行为预测方法及装置的示例性系统架构的示意图;
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;
图3示意性示出了根据本公开的一个实施例的身份标识生成方法的流程示意图;
图4示意性示出了根据本公开的一个实施例的身份标识生成方法中生成严格单调函数(OpenID生成函数)的流程示意图;
图5示意性示出了根据本公开的一个实施例的身份标识生成方法中生成OpenID的流程示意图;
图6示意性示出了根据本公开的一个实施例的身份标识生成方法中确定用户身份信息的流程示意图;
图7示意性示出了根据本公开的一个实施例的身份标识生成装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种身份标识生成方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有函数运算能力的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的身份标识生成方法可以由终端设备101、102、103执行,相应的,身份标识生成装置也可以设置于终端设备101、102、103中。本公开实施例所提供的身份标识生成方法也可以由终端设备101、102、103与服务器105共同执行,相应地,身份标识生成装置可以设置于终端设备101、102、103与服务器105中。此外,本公开实施例所提供的身份标识生成方法还可以由服务器105执行,相应的,身份标识生成装置可以设置于服务器105中,本示例性实施例中对此不做特殊限定。
例如,在本示例实施方式中,上述身份标识生成方法可以由服务器105共同执行。首先,服务器105获取第三方应用的应用信息,并依据应用信息生成与该第三方应用对应的身份标识生成函数,其中,该身份标识生成函数为严格单调函数,且该身份标识生成函数与第三方应用一一对应;之后,获取用户的身份信息,并依据获取到的用户的身份信息以及身份标识生成函数为用户生成对应的身份标识。
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
随着计算机和网络通信技术的不断发展,各类应用软件应运而生,极大了地丰富和方便了人民的日常生活与工作。在很多时候,内部系统的用户常常需要访问外部的第三方应用,在这一访问过程中,唯一的身份标识是系统安全性的必要保障。
OpenId是所有开放平台在基于oauth2.0(互联网标准协议)授权后,反馈给外部ISV(独立软件开发商)的系统内部用户的唯一标识。针对每一个ISV应用,OpenId与系统内部的用户ID保持一一对应,且每个ISV针对同一个系统内部的不同ID,所生成的openId也是不同的。ISV在传入用户信息的时候,可以通过openId来标识某一个用户,进入系统内部后,系统将openId转为系统内部ID,进行真实的调用。该技术保护了用户的隐私以及系统的安全。
相关技术中,主要通过以下两种方法生成openId:
第一种方法为基于hash算法生成openId,具体实现如下:首先,拼接appKey(用于标识ISV应用)与用户ID;之后,对拼接得到的appKey与用户ID的组合基于hash函数进行哈希运算;最后,通过Base64编码生成openId,并在系统数据库中保存openId、appKey所对应的ID信息,用来进行openId向ID的转换。
然而,上述基于hash算法的方法虽然可以生产openId,但存在以下问题:(1)由于hash算法的不可逆性,该方法需要在系统数据库中保存openId到ID的映射来达到openId转ID的需求,这就导致了对系统空间的浪费;(2)Hash算法在概率上存在不同的ID和appKey生成的openId相同的情况,可能会导致数据重复;(3)算法运算复杂,浪费计算机资源;(4)生成的openId长度没有范围,占用网络IO(输入输出)。
第二种方法为基于对称加解密算法来生成openId,具体实现如下:基于每个应用的appKey生成一个秘钥,并通过该秘钥对用户ID进行加密生成openId。相应地,在获取openId之后,可以通过上述基于appKey生成的秘钥对openId进行解密,得到对应的用户ID信息。
然而,上述基于对称加解密算法依然存在如下问题:(1)算法运算复杂,浪费计算机资源;(2)生成的openId长度没有范围,占用网络IO。
为了解决上述方法中存在的问题,本示例实施方式提出了一种技术方案,可以在一定程度上解决相关技术中存在的系统空间浪费、数据重复、运算复杂以及占用网络IO等问题。以下对本公开实施例的技术方案进行详细阐述:
本示例实施方式首先提供了一种身份标识生成方法。参考图3所示,该身份标识生成方法具体包括以下步骤:
步骤S310:获取第三方应用的应用信息,并依据应用信息生成与第三方应用对应的身份标识生成函数,其中,身份标识生成函数为严格单调函数,且身份标识生成函数与第三方应用一一对应;
步骤S320:获取用户的身份信息,依据身份信息以及身份标识生成函数为用户生成对应的身份标识。
在本公开示例实施方式所提供的身份标识生成方法中,一方面,本示例实施方式所提供的身份标识生成方法通过用户的身份信息和作为身份标识生成函数的严格单调函数为第三方应用生成对应的用户身份标识,由于严格单调函数具有唯一的反函数,因此,通过严格单调函数生成的用户身份标识与用户身份信息可以通过函数互相推算得到,因此,不需要保存用户身份信息与用户身份标识之间的映射关系,且生成的用户身份标识的长度较短,节约了系统的存储空间。另一方面,相比于通过hash算法或加解密算法,计算简单,提高了效率,节约了计算机资源。
下面,在另一实施例中,对上述步骤进行更加详细的说明。
在步骤S310中,获取第三方应用的应用信息,并依据应用信息生成与第三方应用对应的身份标识生成函数,其中,身份标识生成函数为严格单调函数,且身份标识生成函数与第三方应用一一对应。
在本示例实施方式中,上述第三方应用为相对于系统的外部应用,该应用为独立软件开发商(基于开放平台开发应用的公司或个人)开发的外部应用。例如,用户可以在一社交应用软件中登陆一外部开发者开发的购物小程序,该购物小程序即为第三方应用。需要说明的是,上述场景只是一种示例性的说明,本示例实施方式的保护范畴并不以此为限。例如,上述社交应用软件也可以为其他类型的软件或系统,上述购物小程序也可以为其他形式的外部应用,本示例实施方式对此不做特殊限定。
在本示例实施方式中,当在系统内部登录上述外部第三方应用时,需要针对第三方应用,为系统内部的用户生成一个唯一的标识,用于标识用户的身份,例如,该唯一标识可以为OpenID,通过OpenID生成函数生成。
其中,本示例实施方式所提供的身份标识生成方法为各第三方应用生成的对应的上述OpenID生成函数生成为严格单调函数。基于严格单调函数具有唯一的反函数这一基本性质,通过为每个第三方应用生成一一对应的OpenID生成函数,可以防止生成的OpenID相同,导致数据重复。
在上述过程中,上述OpenID生成函数可以基于第三方应用的应用信息生成,其中,第三方应用的应用信息中可以包括该第三方应用的标识信息。例如,在创建第三方应用时,可以生成该第三方应用的应用标识信息,用于标识该第三方应用。则上述基于第三方应用的应用信息生成OpenID生成函数的过程可以包括:获取第三方应用的应用信息,从应用信息中提取第三方应用的应用标识信息,并根据该应用标识信息生成一个严格单调函数作为上述OpenID生成函数。
下面,在一具体实施例中,对上述过程进行详细的说明,如图4所示,可以包括如下流程:
在步骤S410中,创建第三方应用,并生成应用信息。
在该步骤中,创建第三方应用并生成与第三方应用相关的应用信息,其中,应用信息包括用于标识第三方应用的应用标识信息。例如,所创建的第三方应用的应用信息可以如表1所示:
表1:
ID | appkey | ... |
1 | key1 | ... |
2 | key2 | ... |
3 | key3 | ... |
其中,上述表1中的第一列为应用ID,各第三方应用的应用ID为整数且全局唯一,第二列为appkey,与各第三方应用一一对应。
在步骤S420中,为各第三方应用生成全局唯一的严格单调函数,作为OpenID生成函数。
在该步骤中,为各第三方应用生成全局唯一的严格单调函数,以表1中的各第三方应用为例,生成严格单调函数的过程可以实现如下:从应用信息中获取第三方应用的应用标识信息;为各第三方应用随机生成非零斜率a,并将应用标识信息作为偏移量b,生成严格单调函数:y=ax+b。
具体地,上述非零斜率可以为1或者-1,上述偏移量b可以为表1中的应用ID,为各第三方应用生成的严格单调函数可以如表2所示:
表2:
ID | appkey | ... | 严格单调函数 |
1 | key1 | ... | y=x+1 |
2 | key2 | ... | y=-x+2 |
3 | key3 | ... | y=x-3 |
需要说明的是,上述场景只是一种示例性的说明,本示例实施方式的保护范畴并不以此为限,例如,上述OpenID生成函数为符合定义的其他严格单调函数。
在步骤S320中,获取用户的身份信息,依据身份信息以及身份标识生成函数为用户生成对应的身份标识。。
在本示例实施方式中,在得到上述OpenID生成函数后,还需要依据用户身份信息及上述OpenID生成函数为该用户生成对应的用户OpenID。具体地,该过程可以实现如下:基于用户的身份信息得到OpenID生成函数的输入值,并将函数的输出值作为用户OpenID。其中,上述用户的身份信息可以为能用于标识用户身份的任意信息,如用户ID等,本示例实施方式对此不做特殊限定。
此外,可选地,在本示例实施方式中,在依据用户的身份信息以及OpenID生成函数为用户生成对应的用户OpenID之后,还可以对得到的OpenID进行编码。
下面,以上述OpenID生成函数为y=ax+b类的严格单调函数为例,对上述生成OpenID的过程进行详细描述,如图5所示,可以包括以下步骤:
在步骤S510中,获取用户的身份信息。
在该步骤中,获取用户的身份信息。因为每次生成openId,都是系统内部的用户针对某个特定的第三方应用进行授权,所以可以很明确地确定用户信息和上述第三方应用的信息。其中,用户信息可以如以下的表3所示:
表3:
ID | userName | ... |
1 | name1 | ... |
2 | name2 | ... |
3 | name3 | ... |
其中,上述表3中的第一列为用户ID,用于表示用户的身份信息。第二列为各用户的用户名称。
在步骤S520中,将用户身份信息输入OpenID生成函数。
在该步骤中,基于用户的身份信息得到OpenID生成函数的自变量x;将自变量x输入OpenID生成函数y=ax+b,得到函数输出值,也即因变量y,记为tmp_openId。具体地,可以将上述表3中的用户ID作为x,输入上述OpenID生成函数y=ax+b,得到上述tmp_openId。
在步骤S530中,对上述函数的输出值编码,得到最终的OpenID。
在该步骤中,对步骤S520中得到的tmp_openId进行编码,得到最终的OpenID。具体地,上述编码方法可以为:取tmp_openId的绝对值,并在tmp_openId小于0时,在上述tmp_openId的绝对值前补1,否则补0。例如,若函数输出值为-2345,则得到的OpenID为12345,若函数输出值为2345,则得到的OpenID为02345。
需要说明的是,上述场景只是一种示例性的说明,本示例实施方式的保护范畴并不以此为限,例如,上述编码过程可以省略,也可以采用其他编码方法。
在本示例实施方式中,由于严格单调函数具有唯一的反函数,因此,不必存储OpenID与用户身份信息之间的映射关系。在获取OpenID后,可以通过以下方式得到用户身份信息:计算上述OpenID生成函数的反函数;获取用户OpenID,根据用户OpenID及反函数得到用户的身份信息。
此外,当获取到的OpenID为经过编码后的OpenID时,在根据用户OpenID及反函数得到用户的身份信息之前,还需要对获取到的经过编码后的OpenID进行对应的解码操作。
下面,以上述OpenID生成函数为y=ax+b类的严格单调函数为例,对上述得到用户身份信息的过程进行详细描述,如图6所示,可以包括以下步骤:
在步骤S610中,获取为第三方应用生成的用户OpenID。
在该步骤中,获取为第三方应用生成的用户OpenID。因为每次从openId获取用户在系统内部的身份信息,都是某一个特定的第三方应用的请求,所以可以很明确的确定openId和第三方应用的相关信息,该信息可以包括为第三方应用生成的OpenID生成函数。
在步骤S620中,对经编码后的OpenID进行对应的解码操作。
在该步骤中,若获取到的OpenID为经过编码后的OpenID,则对经过编码后的OpenID进行相应的解码操作。以上述步骤S530中的编码过程为例,对应的解码过程可以实现如下:将openId的从第2位为开始的内容转换为整数即tmp_openId;若openId第一位是1,则对得到的tmp_openId取相反数,为0则不进行任何操作。
在步骤S630中,获取第三方应用的OpenID生成函数,并计算反函数。
在该步骤中,计算第三方应用的OpenID生成函数的反函数。具体地,计算得到上述OpenID生成函数y=ax+b的反函数:y=(x-b)/a。
在步骤S640中,将解码后的OpenID输入上述反函数,并确定用户身份信息。
在该步骤中,将解码后的用户OpenID输入上述反函数y=(x-b)/a,得到用户的用户ID,并根据用户ID获取用户的身份信息。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种身份标识生成装置,参考图7所示,该身份标识生成装置700可以包括生成函数确定模块710、以及身份标识生成模块720。其中:
生成函数确定模块710,可以用于获取第三方应用的应用信息,并依据应用信息生成与第三方应用对应的身份标识生成函数,其中,身份标识生成函数为严格单调函数,且身份标识生成函数与第三方应用一一对应;
OpenID生成模块720,可以用于获取用户的身份信息,依据身份信息以及身份标识生成函数为所述用户生成对应的身份标识。
在本公开的一种示例性实施例中,上述装置身份标识生成装置还包括反函数计算模块和用户身份确定模块,其中:反函数计算模块,可以用于计算身份标识生成函数的反函数;用户身份确定模块,可以用于获取用户对应的身份标识,并根据用户对应的身份标识及反函数得到用户的身份信息。
在本公开的一种示例性实施例中,上述反函数计算模块可以通过执行以下方法计算反函数:计算身份标识生成函数的反函数;获取用户身份标识,根据用户身份标识及反函数得到用户的身份信息。
在本公开的一种示例性实施例中,身份标识为OpenID,身份标识生成函数为OpenID生成函数;
上述获取第三方应用的应用信息,并依据应用信息生成与第三方应用对应的身份标识生成函数,包括:
获取第三方应用的应用信息,并依据应用信息生成与第三方应用对应的OpenID生成函数;
上述获取用户的身份信息,依据身份信息以及身份标识生成函数为用户生成对应的身份标识,包括:
获取用户的身份信息,依据身份信息以及OpenID生成函数为用户生成对应的OpenID。
反函数计算模块可以通过执行以下方法计算反函数:计算OpenID生成函数的反函数;获取用户对应的OpenID,根据OpenID及反函数得到用户的身份信息。
在本公开的一种示例性实施例中,在依据身份信息以及OpenID生成函数为用户生成对应的OpenID之后,上述身份标识生成装置还可以对用户对应的OpenID进行编码;并且在获取用户对应的OpenID之后,上述身份标识生成装置还可以获取编码后的用户OpenID并解码。
在本公开的一种示例性实施例中,上述生成函数确定模块可以通过执行以下方法实现获取第三方应用的应用信息,并依据应用信息生成与第三方应用对应的OpenID生成函数,包括:从应用信息中获取第三方应用的应用标识信息;为第三方应用随机生成非零斜率a,并将应用标识信息作为偏移量b,生成OpenID生成函数:y=ax+b。
在本公开的一种示例性实施例中,上述身份标识生成模块可以通过执行以下方法实现依据身份信息以及OpenID生成函数为用户生成对应的OpenID,包括:基于用户的身份信息得到OpenID生成函数的自变量x;将自变量x输入OpenID生成函数y=ax+b,得到因变量y并对因变量y编码,得到用户对应的OpenID。
在本公开的一种示例性实施例中,所述反函数计算模块通过执行以下方法实计算OpenID生成函数的反函数:计算OpenID生成函数y=ax+b的反函数y=(x-b)/a;上述用户身份确定模块可以通过执行以下方法实现根据用户OpenID及反函数得到用户的身份信息,包括:获取用户对应的OpenID并解码,将解码后的用户对应的OpenID输入反函数y=(x-b)/a,得到用户的身份信息。
上述身份标识生成装置中各模块或单元的具体细节已经在对应的身份标识生成方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种身份标识生成方法,其特征在于,包括:
获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的身份标识生成函数,其中,所述身份标识生成函数为严格单调函数,且所述身份标识生成函数与所述第三方应用一一对应;
获取用户的身份信息,依据所述身份信息以及所述身份标识生成函数为所述用户生成对应的身份标识。
2.根据权利要求1所述的身份标识生成方法,其特征在于,所述方法还包括:
计算所述身份标识生成函数的反函数;
获取所述用户身份标识,根据所述用户身份标识及所述反函数得到所述用户的身份信息。
3.根据权利要求1所述的身份标识生成方法,其特征在于,所述身份标识为OpenID,所述身份标识生成函数为OpenID生成函数;
所述获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的身份标识生成函数,包括:
获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的OpenID生成函数;
所述获取用户的身份信息,依据所述身份信息以及所述身份标识生成函数为所述用户生成对应的身份标识,包括:
获取用户的身份信息,依据所述身份信息以及所述OpenID生成函数为所述用户生成对应的OpenID。
4.根据权利要求3所述的身份标识生成方法,其特征在于,所述方法还包括:
计算所述OpenID生成函数的反函数;
获取所述用户对应的OpenID,根据所述OpenID及所述反函数得到所述用户的身份信息。
5.根据权利要求3所述的身份标识生成方法,其特征在于,在所述依据所述身份信息以及所述OpenID生成函数为所述用户生成对应的OpenID之后,所述方法还包括:
对所述用户对应的OpenID进行编码;并且
在所述获取所述用户对应的OpenID之后,所述方法还包括:
获取编码后的所述用户OpenID并解码。
6.根据权利要求3所述的身份标识生成方法,其特征在于,所述获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的OpenID生成函数,包括:
从所述应用信息中获取所述第三方应用的应用标识信息;
为所述第三方应用随机生成非零斜率a,并将所述应用标识信息作为偏移量b,生成所述OpenID生成函数:y=ax+b。
7.根据权利要求6所述的身份标识生成方法,其特征在于,所述依据所述身份信息以及所述OpenID生成函数为所述用户生成对应的OpenID,包括:
基于所述用户的身份信息得到所述OpenID生成函数的自变量x;
将所述自变量x输入所述OpenID生成函数y=ax+b,得到因变量y并对所述因变量y编码,得到所述用户对应的OpenID。
8.根据权利要求7所述的身份标识生成方法,其特征在于,所述方法还包括:
所述计算所述OpenID生成函数的反函数,包括:
计算所述OpenID生成函数y=ax+b的反函数y=(x-b)/a;
所述根据所述用户对应的OpenID及所述反函数得到所述用户的身份信息,包括:
获取所述用户对应的OpenID并解码,将解码后的所述用户对应的OpenID输入所述反函数y=(x-b)/a,得到所述用户的身份信息。
9.一种身份标识生成装置,其特征在于,包括:
生成函数确定模块,用于获取第三方应用的应用信息,并依据所述应用信息生成与所述第三方应用对应的身份标识生成函数,其中,所述身份标识生成函数为严格单调函数,且所述身份标识生成函数与所述第三方应用一一对应;
身份标识生成模块,用于获取用户的身份信息,依据所述身份信息以及所述身份标识生成函数为所述用户生成对应的身份标识。
10.根据权利要求9所述的身份标识生成装置,其特征在于,所述装置还包括:
反函数计算模块,用于计算所述身份标识生成函数的反函数;
用户身份确定模块,用于获取所述用户身份标识,根据所述用户身份标识及所述反函数得到所述用户的身份信息。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
12.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110571190.2A CN113392369A (zh) | 2021-05-25 | 2021-05-25 | 身份标识生成方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110571190.2A CN113392369A (zh) | 2021-05-25 | 2021-05-25 | 身份标识生成方法及装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113392369A true CN113392369A (zh) | 2021-09-14 |
Family
ID=77618966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110571190.2A Pending CN113392369A (zh) | 2021-05-25 | 2021-05-25 | 身份标识生成方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392369A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562621A (zh) * | 2009-05-25 | 2009-10-21 | 阿里巴巴集团控股有限公司 | 一种用户授权的方法、系统和装置 |
CN109325691A (zh) * | 2018-09-27 | 2019-02-12 | 上海观安信息技术股份有限公司 | 异常行为分析方法、电子设备及计算机程序产品 |
CN110910143A (zh) * | 2019-11-21 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 身份标识生成方法、装置、相关节点及介质 |
WO2020061923A1 (zh) * | 2018-09-27 | 2020-04-02 | 区链通网络有限公司 | 一种基于区块链的账户管理系统以及管理方法、存储介质 |
-
2021
- 2021-05-25 CN CN202110571190.2A patent/CN113392369A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562621A (zh) * | 2009-05-25 | 2009-10-21 | 阿里巴巴集团控股有限公司 | 一种用户授权的方法、系统和装置 |
CN109325691A (zh) * | 2018-09-27 | 2019-02-12 | 上海观安信息技术股份有限公司 | 异常行为分析方法、电子设备及计算机程序产品 |
WO2020061923A1 (zh) * | 2018-09-27 | 2020-04-02 | 区链通网络有限公司 | 一种基于区块链的账户管理系统以及管理方法、存储介质 |
CN110910143A (zh) * | 2019-11-21 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 身份标识生成方法、装置、相关节点及介质 |
Non-Patent Citations (2)
Title |
---|
ABBAS, H等: "Identifying an OpenID anti-phishing scheme for cyberspace", 《 SECURITY AND COMMUNICATION NETWORKS》, 13 April 2016 (2016-04-13) * |
刘润达;王卷乐;杜佳;: "OpenID:一种开放的数字身份标识管理及其认证框架", 计算机应用与软件, no. 12, 15 December 2008 (2008-12-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263416B2 (en) | Two-dimensional code generation and identification | |
US9860219B2 (en) | Runtime instantiation of broadcast encryption schemes | |
CN111242462B (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN112039826A (zh) | 一种应用于小程序端的登录方法和装置 | |
US20240259203A1 (en) | Information Verification Method and Apparatus | |
CN113111341B (zh) | 账号共享、登录方法和装置 | |
CN111814166B (zh) | 一种数据加密方法、装置和电子设备 | |
CN114881247B (zh) | 基于隐私计算的纵向联邦特征衍生方法、装置、介质 | |
CN116910705A (zh) | 实现目标功能的授权方法和装置、电子设备及存储介质 | |
CN113946816A (zh) | 基于云服务的鉴权方法、装置、电子设备和存储介质 | |
CN113392369A (zh) | 身份标识生成方法及装置、存储介质及电子设备 | |
CN115086428B (zh) | 网络请求发送方法、装置与电子设备 | |
CN116112172A (zh) | Android客户端gRPC接口安全校验的方法和装置 | |
CN114036364B (zh) | 用于识别爬虫的方法、装置、设备、介质和系统 | |
CN116664123A (zh) | 一种基于区块链技术的数字钱包设计方法 | |
CN116136844A (zh) | 实体标识信息的生成方法、装置、介质及电子设备 | |
CN107609871B (zh) | 支付轨迹重现方法、装置、系统、电子设备、存储介质 | |
CN114500541B (zh) | 一种多路检验运算去冗余的云计算系统 | |
CN118395479B (zh) | 线上商城系统的数据保护方法、装置、电子设备及介质 | |
CN118034629B (zh) | Led显示屏拼接优化方法、装置、电子设备及介质 | |
CN110765423A (zh) | 一种应用程序混淆加密方法和装置 | |
AU2020341341B2 (en) | System and method for implementing market data rights enforcement | |
CN113381982B (zh) | 注册方法、装置、电子设备和存储介质 | |
CN116383780A (zh) | 代码数据处理方法、装置、计算机介质及电子设备 | |
CN113448542A (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 |