CN109743161B - 信息加密方法、电子设备和计算机可读介质 - Google Patents

信息加密方法、电子设备和计算机可读介质 Download PDF

Info

Publication number
CN109743161B
CN109743161B CN201811633365.2A CN201811633365A CN109743161B CN 109743161 B CN109743161 B CN 109743161B CN 201811633365 A CN201811633365 A CN 201811633365A CN 109743161 B CN109743161 B CN 109743161B
Authority
CN
China
Prior art keywords
user information
application
user
sub
unique identifier
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.)
Active
Application number
CN201811633365.2A
Other languages
English (en)
Other versions
CN109743161A (zh
Inventor
胡晨鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhangmen Science and Technology Co Ltd
Original Assignee
Shanghai Zhangmen Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Zhangmen Science and Technology Co Ltd filed Critical Shanghai Zhangmen Science and Technology Co Ltd
Priority to CN201811633365.2A priority Critical patent/CN109743161B/zh
Publication of CN109743161A publication Critical patent/CN109743161A/zh
Application granted granted Critical
Publication of CN109743161B publication Critical patent/CN109743161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本公开的实施例公开了信息加密方法、电子设备和计算机可读介质。该方法的一具体实施方式包括:对子应用所服务的用户的真实的唯一标识符进行加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息,其中,子应用的运行依赖于母应用,用户为母应用的用户;响应于接收到子应用针对用户信息的获取请求,基于获取请求获得用户信息对应的用户的加密后的唯一标识符;基于加密后的唯一标识符,获得用户的真实的唯一标识符;基于真实的唯一标识符,获取用户的用户信息,并返回给子应用。该实施方式提高了用户信息的安全性。

Description

信息加密方法、电子设备和计算机可读介质
技术领域
本公开的实施例涉及计算机技术领域,具体涉及信息加密方法、电子设备和计算机可读介质。
背景技术
现有技术中,往往可以在母应用安装的基础上,再进一步安装该母应用的子应用,以对母应用的功能进行扩展。例如,上述母应用可以是应用软件,该母应用的子应用可以是该应用软件的寄宿应用(例如小程序)。
通常,具有聊天功能的母应用的子应用可以读取该母应用的群组中使用该子应用的所有的成员的标识符与昵称、姓名、备注等用户信息。因而,子应用的运营方可以通过读取用户信息,将群组内的所有成员关联起来,以及,基于所获取的用户信息,构建用户的社交关系链图谱。
发明内容
本公开提出了信息加密方法、电子设备和计算机可读介质。
第一方面,本公开的实施例提供了一种信息加密方法,该方法包括:对子应用所服务的用户的真实的唯一标识符进行加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息,其中,子应用的运行依赖于母应用,用户为母应用的用户;响应于接收到子应用针对用户信息的获取请求,基于获取请求获得用户信息对应的用户的加密后的唯一标识符;基于加密后的唯一标识符,获得用户的真实的唯一标识符;基于真实的唯一标识符,获取用户的用户信息,并返回给子应用。
第二方面,本公开的实施例提供了一种信息电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得该一个或多个处理器实现如上述信息加密方法中任一实施例的方法。
第三方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述信息加密方法中任一实施例的方法。
本公开的实施例提供的信息加密方法、电子设备和计算机可读介质,通过对子应用所服务的用户的真实的唯一标识符进行加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息,其中,子应用的运行依赖于母应用,用户为母应用的用户,然后,响应于接收到子应用针对用户信息的获取请求,基于获取请求,获得用户信息对应的用户的加密后的唯一标识符,之后,基于加密后的唯一标识符,获得用户的真实的唯一标识符,最后,基于真实的唯一标识符,获取用户的用户信息,并返回给子应用,从而在保证子应用的正常运转的前提下,提高了母应用的用户的信息的安全程度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一些实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的信息加密方法的一个实施例的流程图;
图3A和图3B是根据本公开的信息加密方法的一个应用场景的示意图;
图4是根据本公开的信息加密方法的又一个实施例的流程图;
图5A和图5B是根据本公开的信息加密装置的又一个应用场景的示意图;
图6是适于用来实现本公开的一些实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的实施例的信息加密方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和网络设备105。网络104用以在终端设备101、102、103和网络设备105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户在使用终端设备101、102、103的过程中,可以通过网络104与网络设备105交互,以接收或发送消息(例如子应用针对用户信息的获取请求)等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
在这里,终端设备101、102、103上安装的客户端应用可以为母应用,其上可以运行有子应用。子应用以母应用为运行环境。由于子应用的运行依赖于母应用,因而,母应用可以对子应用的各种操作进行权限管理,以控制子应用的操作。此外,子应用可以请求获取母应用的用户的用户信息,在接收到子应用的请求之后,安装有母应用的终端设备(例如终端设备101、102、103),或者,用于支持母应用的网络设备(例如网络设备105),可以首先对子应用所请求获取的用户信息进行处理(例如加密),得到用于返回给子应用的处理结果。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持页面呈现的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
网络设备105可以是提供各种服务的服务器,例如对终端设备101、102、103上运行的母应用和子应用中的至少一项提供支持的后台服务器。后台服务器可以对接收到的操作请求等数据进行分析等处理,并将处理结果反馈给终端设备。
在这里,本公开实施例所描述的电子设备可以是包括上述网络设备和终端设备中的至少一项。
需要说明的是,本公开的实施例所提供的信息加密方法可以由网络设备105执行,也可以由终端设备101、102、103执行,还可以由网络设备105和终端设备101、102、103之一彼此配合执行。
需要说明的是,网络设备可以是硬件,也可以是软件。当网络设备为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和网络设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和网络设备。当信息加密方法运行于其上的电子设备不需要与其他电子设备进行数据传输时,该系统架构可以仅包括信息加密方法运行于其上的电子设备。
继续参考图2,示出了根据本公开的信息加密方法的一个实施例的流程200。该信息加密方法,包括以下步骤:
步骤201,对子应用所服务的用户的真实的唯一标识符进行加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息。
在本实施例中,信息加密方法的执行主体(例如图1所示的网络设备,或者终端设备)可以对子应用所服务的用户的真实的唯一标识符进行加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取上述子应用所服务的用户的用户信息。其中,子应用的运行依赖于母应用,用户为母应用的用户。
在本实施例中,子应用的运行依赖于母应用,子应用可以是以母应用为运行环境的应用。子应用的一个示例可以例如为小程序。
实践中,母应用的页面可以呈现有该母应用的子应用的入口,该入口可以用于启动子应用。可以理解,由于子应用的运行依赖于母应用,子应用的用户通常为该子应用的母应用的用户。一般情况下,只有当母应用的用户触发用于启动子应用的入口之后,该母应用的用户才可以成为子应用的用户(即上述子应用所服务的用户)。在这里,母应用的每个用户可以对应有一个真实的唯一标识符,该真实的唯一标识符可以用于标识母应用上的用户,换言之,真实的唯一标识符与母应用的用户可以为一一对应的关系。
在这里,上述执行主体可以采用各种加密算法,来对子应用所服务的用户的真实的唯一标识符进行加密处理。例如,上述加密算法可以包括但不限于以下至少一项:高级加密标准(AES,Advanced Encryption Standard)算法、三重数据加密算法(TDEA,TripleData Encryption Algorithm)、安全哈希算法(SHA,Secure Hash Algorithm)等等。本实施例对上述加密算法不作限定。
但需要说明的是,对于不同的真实的唯一标识符进行上述加密处理后,上述子应用在不借助于上述执行主体的情况下,通常无法确定加密后的唯一标识符所对应的用户;如经上述安全哈希算法加密后输出的散列通常无法被用于反推出该安全哈希算法的输入,除非获知该安全哈希算法的具体加密方式。通常,只有在子应用向上述执行主体请求,并经过上述执行主体的授权后,上述执行主体才可以将加密后的唯一标识符所对应的用户的用户信息返回给子应用。
在本实施例中,上述真实的唯一标识符可以是母应用的用户的初始的唯一标识符,即加密前的唯一标识符。可以理解,该真实的唯一标识符可以是上述执行主体,或者与上述执行主体通信连接的电子设备所存储的,用于标识母应用的用户的标识符。上述加密后的唯一标识符可以是对上述真实的唯一标识符进行加密后得到的结果。
在这里,子应用可以采用多种方式,来基于加密后的唯一标识符,从母应用获取用户的用户信息。
作为示例,子应用可以上述执行主体发送该加密后的唯一标识符,然后由上述执行主体根据加密后的唯一标识符,确定出该加密后的唯一标识符对应的真实的唯一标识符指示的用户的用户信息,之后,上述执行主体可以向子应用返回所确定出的用户信息,作为该子应用从母应用获取到的用户的用户信息。
在这里,上述用户信息可以是母应用的用户的各种信息。例如,用户信息可以包括但不限于以下至少一项:用户的好友关系信息、用户昵称、用户性别、用户对好友的备注信息等等。
在本实施例中,上述执行主体可以为安装有该子应用的母应用的终端设备,也可以是支持该子应用的母应用的网络设备。
作为示例,当上述执行主体为终端设备时,其可以为设置于该终端设备的母应用信息处理模块。该终端设备还可以设置有子应用信息处理模块。由此,上述母应用信息处理模块可以向子应用信息处理模块提供该加密后的唯一标识符,从而实现向子应用提供该加密后的唯一标识符。
作为又一示例,当上述执行主体为网络设备时,其可以向安装有上述子应用的母应用的终端设备,提供该加密后的唯一标识符,从而实现向子应用提供该加密后的唯一标识符。
在本实施例的一些可选的实现方式中,用户信息包括以下至少一项:用户昵称、用户头像、用户爱好信息、用户备注信息、用户好友关系信息。
在本实施例的一些可选的实现方式中,用户信息由子应用的母应用维护。其中,用户信息由子应用的母应用维护,是指母应用的运营方可以对用户信息进行存储,以及实现对用户信息的增加、删除、修改、查找等操作。
步骤202,响应于接收到子应用针对用户信息的获取请求,基于获取请求获得用户信息对应的用户的加密后的唯一标识符。
在本实施例中,在接收到子应用针对用户信息的获取请求的情况下,上述执行主体可以基于所接收到的获取请求,获得用户信息对应的用户的加密后的唯一标识符。
作为示例,上述执行主体可以从所接收到的获取请求中,提取用户信息对应的用户的加密后的唯一标识符。
步骤203,基于加密后的唯一标识符,获得用户的真实的唯一标识符。
在本实施例中,上述执行主体可以基于加密后的唯一标识符,获得用户的真实的唯一标识符。
作为示例,上述执行主体,或者与上述执行主体通信连接的电子设备,可以存储有各个用户的真实的唯一标识符,以及对应每个真实的唯一标识符的加密后的唯一标识符。由此,上述执行主体可以采取查找步骤202所获得的加密后的唯一标识符对应的真实的唯一标识符的方式,来获得用户的真实的唯一标识符。
作为又一示例,上述执行主体还可以对加密后的唯一标识符进行解密,从而获得用户的真实的唯一标识符。
步骤204,基于真实的唯一标识符,获取用户的用户信息,并返回给子应用。
在本实施例中,基于步骤203所获得的真实的唯一标识符,上述执行主体可以获取用户的用户信息,并将所获取的用户信息返回给上述子应用。
在这里,上述用户信息可以是用于存储母应用的用户信息的数据库所存储的用户的信息(后文称之为真实的用户信息),也可以是对用于存储母应用的用户信息的数据库所存储的用户的信息进行处理(例如加密、特征提取等处理)后得到的信息。
作为示例,用于存储母应用的用户信息的数据库中可以关联存储有母应用的各个用户的用户信息,以及每个用户的真实的唯一标识符。由此,上述执行主体可以在数据库中查找到上述真实的唯一标识符所关联的用户信息(即真实的用户信息),然后,将所查找到的用户信息返回给上述子应用。
在本实施例的一些可选的实现方式中,上述执行主体还可以采用如下方式,来执行该步骤204:
第一步,基于真实的唯一标识符,获取用户的真实的用户信息。
作为示例,上述执行主体可以从存储有多个真实的唯一标识符和每个真实的唯一标识符对应的真实的用户信息的二维表,或者,数据库中,查找对应真实的唯一标识符的真实的用户信息,由此,获取到了用户的真实的用户信息。例如,可以采用键值对,或者,JS对象简谱(JSON,JavaScript Object Notation,一种轻量级的数据交换格式)的存储方式,将真实的唯一标识符,及其对应的真实的用户信息,关联存储于上述数据库中。示例性的,可以将真实的唯一标识符作为键(key),将真实的用户信息作为值(value),通过查找以步骤203所获得的用户的真实的唯一标识符作为键的值,从而获取到用户的真实的用户信息。
作为又一示例,技术人员还可以首先编写方法(function),从而上述执行主体可以通过调用该方法,获取用户的真实的用户信息。例如,上述方法可以将真实的唯一标识符作为参数,从而可以获取用户的真实的用户信息。在这里,上述方法也可以称之为函数,不同的编程语言可以对其有不同的称呼,本实施例对此不作限定。
第二步,基于生成的第一随机数,对真实的用户信息进行加密,得到加密后的用户信息。
在这里,第一随机数,可以是直接采用随机数生成算法得到的,也可以是以表征当前时间的字符串,作为种子,从而生成的随机数。
作为示例,可以首先确定加密算法集合,然后根据所生成的随机数,从上述加密算法集合中确定出一个或者多个加密算法,从而采用所确定出的加密算法,对真实的用户信息进行加密,得到加密后的用户信息。其中,加密后的用户信息可以为对真实的用户信息进行加密所得到的加密结果。
第三步,向子应用返回加密后的用户信息。
在本实施例的一些可选的实现方式中,用户信息由字符组成。上述执行主体还可以采用如下方式,来执行上述第二步:
第一子步骤,基于第一随机数,确定真实的用户信息中的待被替换的字符在真实的用户信息中所处的位置。
作为示例,上述执行主体可以首先确定第一随机数是否小于等于真实的用户信息所包括的字符串的长度(即所包括的字符的数量),如果是,则可以确定待被替换的字符在真实的用户信息中所处的位置,为真实的用户信息中的第上述第一随机数个字符所处的位置。例如,如果第一随机数为5,真实的用户信息所包括的字符串的长度为10,那么,上述执行主体可以确定待被替换的字符在真实的用户信息中所处的位置,为真实的用户信息中的第5个字符所处的位置。如果第一随机数大于真实的用户信息所包括的字符串的长度,那么上述执行主体可以将第一随机数除以预定数值(例如2,3等等),得到商(可以保留整数),然后,确定所得到的商是否小于等于真实的用户信息所包括的字符串的长度,如果是,则可以确定待被替换的字符在真实的用户信息中所处的位置,为真实的用户信息中的第上述商个字符所处的位置。如果所得到的商大于真实的用户信息所包括的字符串的长度,那么上述执行主体可以在所得到的商大于真实的用户信息所包括的字符串的长度的情况下,采用所得到的所得到的商除以上述预定数值,直到所得到的商小于等于真实的用户信息所包括的字符串的长度,则停止。以及得到的小于等于真实的用户信息所包括的字符串的长度的商值作为最终商值,以及确定待被替换的字符在真实的用户信息中所处的位置,为真实的用户信息中的第上述最终商值个字符所处的位置。
第二子步骤,采用预先确定的字符替换位于上述位置的字符,将替换后的用户信息确定为加密后的用户信息。
在这里,上述预先确定的字符可以是任意字符,例如“*”、空格“”、“¥”等等。
在本实施例的一些可选的实现方式中,第一随机数小于等于真实的用户信息包括的字符的数量。由此,上述执行主体还可以采用如下方式,来执行上述第一子步骤:确定真实的用户信息包括的第一随机数个字符在用户信息中所处的位置,作为真实的用户信息中的待被替换的字符在真实的用户信息中所处的位置。
在本实施例的一些可选的实现方式中,上述执行主体还可以采用如下方式,来执行上述步骤202:
第一步,响应于接收到子应用针对用户信息的获取请求,确定子应用是否具有针对用户信息的获取权限。
作为示例,上述获取请求可以包括子应用的应用标识,由此,上述执行主体可以采用确定该应用标识是否包含于预先确定的应用标识集合中,从而确定子应用是否具有针对用户信息的获取权限。其中,上述预先确定的应用标识集合可以是依赖于母应用的所有子应用中,所有具有针对用户信息的获取权限的子应用的应用标识的集合;也可以是依赖于母应用的所有子应用中,所有不具有针对用户信息的获取权限的子应用的应用标识的集合。
作为另一示例,上述执行主体可基于该应用标识查询与该应用标识关联的权限信息,以确定该子应用是否具有针对用户信息的获取权限。
第二步,响应于确定子应用具有针对用户信息的获取权限,基于获取请求,获得用户信息对应的用户的加密后的唯一标识符。
作为示例,上述执行主体可以从获取请求中直接提取该获取请求所包含的加密后的唯一标识符,作为用户信息对应的用户的加密后的唯一标识符。
作为又一示例,上述获取请求中也可以包括加密后的唯一标识符的标识,由此,上述执行主体可以通过确定获取请求中所包括的标识所指示的加密后的唯一标识符,从而获得用户信息对应的用户的加密后的唯一标识符。
在本实施例的一些可选的实现方式中,获取请求包括子应用请求获取用户信息的时间。由此,对于上述第一步中的“确定子应用是否具有针对用户信息的获取权限”,上述执行主体还可以采用如下方式来执行:
第一子步骤,确定接收到获取请求的时间与获取请求包括的时间之差是否小于等于预设的时间阈值。
第二子步骤,响应于确定小于等于时间阈值,确定子应用具有针对用户信息的获取权限。
在本实施例的一些可选的实现方式中,获取请求包括令牌。其中,令牌(token),是一串字符串,以作被验证端(例如子应用)进行请求的一个令牌,该令牌可被周期性地生成,以使每经过一个时间周期,该令牌即会变化。该令牌可由验证端(例如上述执行主体)生成并提供给被验证端,也可由验证端和被验证端采用相同的算法分别同步或基本同步地生成。
作为示例,上述执行主体可以采用如下方式,来生成令牌:将生成的随机数,或者当前时间的时间戳,作为令牌。
由此,对于上述步骤“确定子应用是否具有针对用户信息的获取权限”,上述执行主体还可以采用如下方式来执行:
首先,验证令牌。
在这里,上述生成令牌和验证令牌的具体方式,为本领域技术人员的公式技术,在此不再赘述。
然后,在令牌通过验证的情况下,确定子应用具有针对用户信息的获取权限。
可以理解,根据令牌是否通过验证,来确定子应用是否具有针对用户信息的获取权限,可以提高验证的安全性,从而可以进一步保护用户的信息,进一步提高了用户信息的安全程度。
在本实施例的一些可选的实现方式中,令牌包括时间戳与第二随机数的组合。
在这里,上述第二随机数可以是采用随机数生成算法直接获得的;也可以是基于当前时间的时间戳所生成的。
可以理解,基于当前时间所生成的第二随机数,属于真随机数,因而,采用包括第二随机数生成的令牌的验证结果更为可靠。
在本实施例的一些可选的实现方式中,验证令牌,包括:验证令牌是否处于有效期限;和/或验证令牌是否未被验证过。
在这里,当验证令牌,包括:验证令牌是否处于有效期限时,如果令牌处于有效期限,则可以确定通过验证;如果令牌未处于有效期限,则可以确定未通过验证。当验证令牌,包括:验证令牌是否未被验证过是,如果令牌未被验证过,则可以确定通过验证;如果令牌被验证过,则可以确定未通过验证。
在本实施例的一些可选的实现方式中,加密处理包括基于散列算法的加密处理。
在这里,上述基于散列算法的加密处理可以包括但不限于以下至少一项:安全哈希算法(SHA,Secure Hash Algorithm)、加法哈希算法、乘法哈希算法、移位哈希算法等等。
在本实施例的一些可选的实现方式中,上述执行主体还可以响应于接收到来自用户的、针对子应用的用户信息获取权限限制请求,关闭子应用的用户信息获取权限。
可以理解,现有技术中,由于子应用可以获得母应用的用户的真实的唯一标识符,从而可以根据该真实的唯一标识符,来获取与该真实的唯一标识符指示的用户相关的用户信息(例如昵称、姓名、备注、好友关系信息等等),从而子应用的运营方可以通过识别在同一群中使用该子应用的用户,获得该用户的用户关系链,甚至所有使用子应用的用户的用户关系链。而本实施例则可以采用对用户的真实的唯一标识符进行加密的方式,来得到加密后的唯一标识符,并将加密后的唯一标识符返回给子应用,以替代将真实的唯一标识符返回给子应用(即不向子应用返回真实的唯一标识符,子应用也无法获得真实的唯一标识符),从而提高了母应用的用户的用户信息的安全性。此外,由于母应用运营方,可以基于加密后的唯一标识符,来获得用户的真实的唯一标识符,因而,母应用运营方仍然可以获取到真实的唯一标识符指示的用户相关的用户信息,当子应用请求获取用户信息时,母应用运营方可以通过上述执行主体,对子应用进行验证,以确定该子应用是否具有获取权限,从而在不影响子应用的正常使用的前提下,加强了对子应用的监管力度,保障了用户信息的安全性。
继续参见图3A和图3B,图3A和图3B是根据本实施例的信息加密方法的一个应用场景的示意图。在图3A的应用场景中,服务器302对子应用所服务的用户的真实的唯一标识符303进行加密处理,并向子应用提供该加密后的唯一标识符304,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息。其中,子应用的运行依赖于母应用,用户为母应用的用户。然后,请参考图3B,在接收到子应用针对用户信息的获取请求305(图示中,服务器302接收到了子应用通过安装有子应用的母应用的终端设备301发送的、针对用户信息的获取请求305)的情况下,服务器302基于获取请求305获得用户信息对应的用户的加密后的唯一标识符306。随后,服务器302基于加密后的唯一标识符306,获得用户的真实的唯一标识符307。此后,服务器302基于真实的唯一标识符307,获取用户的用户信息308,并返回给子应用(图3B中服务器302向上述终端设备301返回了用户信息308,以返回给子应用)。图3A和图3B中的真实的唯一标识符和加密后的唯一标识符的具体字符仅作说明用,不表示真实的实例。
本公开的上述实施例提供的方法,通过对子应用所服务的用户的真实的唯一标识符进行加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息,其中,子应用的运行依赖于母应用,用户为母应用的用户,然后,响应于接收到子应用针对用户信息的获取请求,基于获取请求,获得用户信息对应的用户的加密后的唯一标识符,之后,基于加密后的唯一标识符,获得用户的真实的唯一标识符,最后,基于真实的唯一标识符,获取用户的用户信息,并返回给子应用,从而在保证子应用的正常运转的前提下,提高了母应用的用户的信息的安全程度。
进一步参考图4,其示出了信息加密方法的又一个实施例的流程400。该信息加密方法的流程400,包括以下步骤:
步骤401,对子应用所服务的用户的真实的唯一标识符进行基于散列算法的加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息。
在本实施例中,信息加密方法的执行主体(例如图1所示的网络设备,或者终端设备)可以对子应用所服务的用户的真实的唯一标识符进行基于散列算法的加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息。
在本实施例中,子应用的运行依赖于母应用,用户为母应用的用户;获取请求包括子应用请求获取用户信息的时间;获取请求包括令牌;用户信息由字符组成。令牌时间戳与第二随机数的组合。
步骤402,响应于接收到子应用针对用户信息的获取请求,验证令牌。
在本实施例中,在接收到子应用针对用户信息的获取请求的情况下,上述执行主体可以验证令牌。
在本实施例中,验证令牌可以包括:验证令牌是否处于有效期限;和/或验证令牌是否未被验证过。
步骤403,响应于令牌通过验证,确定子应用具有针对用户信息的获取权限。
在本实施例中,在令牌通过验证的情况下,上述执行主体可以确定子应用具有针对用户信息的获取权限。
步骤404,响应于确定子应用具有针对用户信息的获取权限,基于获取请求获得用户信息对应的用户的加密后的唯一标识符。
在本实施例中,确定子应用具有针对用户信息的获取权限,上述执行主体可以基于获取请求获得用户信息对应的用户的加密后的唯一标识符。
步骤405,基于加密后的唯一标识符,获得用户的真实的唯一标识符。
在本实施例中,上述执行主体可以基于加密后的唯一标识符,获得用户的真实的唯一标识符。
步骤406,基于真实的唯一标识符,获取用户的真实的用户信息。
在本实施例中,上述执行主体可以基于真实的唯一标识符,获取用户的真实的用户信息。
步骤407,确定真实的用户信息包括的第一随机数个字符在用户信息中所处的位置。
在本实施例中,上述执行主体可以确定真实的用户信息包括的第一随机数个字符在用户信息中所处的位置。其中,第一随机数小于等于真实的用户信息包括的字符的数量。
步骤408,采用预先确定的字符替换位于位置的字符,将替换后的用户信息确定为加密后的用户信息。
在本实施例中,上述执行主体可以采用预先确定的字符替换位于位置的字符,将替换后的用户信息确定为加密后的用户信息。
步骤409,向子应用返回加密后的用户信息。
在本实施例中,上述执行主体可以向子应用返回加密后的用户信息。
继续参见图5A和图5B,图5A和图5B是根据本实施例的信息加密方法的又一个应用场景的示意图。在图5A的应用场景中,服务器302对子应用所服务的用户的真实的唯一标识符503进行加密处理,并向子应用提供该加密后的唯一标识符504,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息。其中,子应用的运行依赖于母应用,用户为母应用的用户。获取请求包括子应用请求获取用户信息的时间。获取请求包括令牌。用户信息由字符组成。令牌时间戳与第二随机数的组合。然后,在接收到子应用针对用户信息的获取请求的情况下,服务器502验证令牌。响应于令牌通过验证,确定子应用具有针对用户信息的获取权限(在图5A中,服务器502确定令牌通过验证,由此,服务器502确定子应用具有针对用户信息的获取权限)。此后,在确定子应用具有针对用户信息的获取权限的情况下,服务器502基于获取请求505(图示中,服务器502接收到了子应用通过安装有子应用的母应用的终端设备501发送的、针对用户信息的获取请求505),获得用户信息对应的用户的加密后的唯一标识符506。然后,基于加密后的唯一标识符506,获得用户的真实的唯一标识符507,再基于真实的唯一标识符507,获取用户的真实的用户信息508。接下来,服务器502确定真实的用户信息包括的第一随机数(例如7)个字符在真实的用户信息中所处的位置(例如第7个字符)。其中,第一随机数小于等于真实的用户信息包括的字符的数量。接着,服务器502采用预先确定的字符(例如“*”)替换位于上述位置的字符(例如真实的用户信息中的第7个字符),将替换后的用户信息确定为加密后的用户信息509。最后,服务器502向子应用返回加密后的用户信息509(图示中为向上述终端设备501返回加密后的用户信息509)。图5A和图5B中的真实的唯一标识符、加密后的唯一标识符、用户信息等的具体字符仅作说明用,不表示真实的实例。
从图4中可以看出,与图2对应的实施例相比,本实施例中的信息加密方法的流程400突出了向子应用返回加密后的用户信息,而非用户真实的用户信息的步骤。并且,相对于真实的用户信息,加密后的用户信息仅与其存在一个字符的差别,由此,在一定程度上,本实施例描述的方案可以在保证子应用正常运转的前提下,避免子应用直接获取到真实的用户信息,从而进一步保护了用户的用户信息。
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本公开的方法中限定的上述功能。
需要说明的是,本公开所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,所述程序设计语言包括面向目标的程序设计语言—诸如Python、Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:对子应用所服务的用户的真实的唯一标识符进行加密处理,并向子应用提供该加密后的唯一标识符,以供子应用基于加密后的唯一标识符从母应用获取用户的用户信息,其中,子应用的运行依赖于母应用,用户为母应用的用户;响应于接收到子应用针对用户信息的获取请求,基于获取请求获得用户信息对应的用户的加密后的唯一标识符;基于加密后的唯一标识符,获得用户的真实的唯一标识符;基于真实的唯一标识符,获取用户的用户信息,并返回给子应用。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (15)

1.一种信息加密方法,包括:
对子应用所服务的用户的真实的唯一标识符进行加密处理,并向所述子应用提供该加密后的唯一标识符,以供所述子应用基于所述加密后的唯一标识符从母应用获取所述用户的用户信息,其中,所述子应用的运行依赖于所述母应用,所述用户为所述母应用的用户;
响应于接收到所述子应用针对用户信息发送的获取请求,基于所述获取请求获得所述用户信息对应的用户的加密后的唯一标识符;
基于所述加密后的唯一标识符,获得所述用户的真实的唯一标识符;
基于所述真实的唯一标识符,获取所述用户的用户信息,并返回给所述子应用。
2.根据权利要求1所述的方法,其中,基于所述真实的唯一标识符,获取所述用户的用户信息,并返回给所述子应用,包括;
基于所述真实的唯一标识符,获取所述用户的真实的用户信息;
基于生成的第一随机数,对所述真实的用户信息进行加密,得到加密后的用户信息;
向所述子应用返回所述加密后的用户信息。
3.根据权利要求2所述的方法,其中,所述用户信息由字符组成;以及
基于所述第一随机数,对所述真实的用户信息进行加密,得到加密后的用户信息,包括:
基于所述第一随机数,确定所述真实的用户信息中的待被替换的字符在所述真实的用户信息中所处的位置;
采用预先确定的字符替换位于所述位置的字符,将替换后的用户信息确定为加密后的用户信息。
4.根据权利要求3所述的方法,其中,所述第一随机数小于等于所述真实的用户信息包括的字符的数量;以及
基于所述第一随机数,确定所述真实的用户信息中的待被替换的字符在所述真实的用户信息中所处的位置,包括:
确定所述真实的用户信息包括的第所述第一随机数个字符在所述用户信息中所处的位置。
5.根据权利要求1所述的方法,其中,响应于接收到所述子应用针对用户信息的获取请求,基于所述获取请求获得所述用户信息对应的用户的加密后的唯一标识符,包括:
响应于接收到所述子应用针对用户信息的获取请求,确定所述子应用是否具有针对所述用户信息的获取权限;
响应于确定所述子应用具有针对所述用户信息的获取权限,基于所述获取请求获得所述用户信息对应的用户的加密后的唯一标识符。
6.根据权利要求5所述的方法,其中,所述获取请求包括所述子应用请求获取所述用户信息的时间;以及
所述确定所述子应用是否具有针对所述用户信息的获取权限,包括:
确定接收到所述获取请求的时间与所述获取请求包括的时间之差是否小于等于预设的时间阈值;
响应于确定小于等于所述时间阈值,确定所述子应用具有针对所述用户信息的获取权限。
7.根据权利要求5所述的方法,其中,所述获取请求包括令牌,所述确定所述子应用是否具有针对所述用户信息的获取权限,包括:
验证所述令牌;
响应于所述令牌通过验证,确定所述子应用具有针对所述用户信息的获取权限。
8.根据权利要求7所述的方法,其中,所述令牌包括时间戳与第二随机数的组合。
9.根据权利要求7所述的方法,其中,验证所述令牌,包括:
验证所述令牌是否处于有效期限;和/或
验证所述令牌是否未被验证过。
10.根据权利要求1所述的方法,其中,所述加密处理包括基于散列算法的加密处理。
11.根据权利要求1-10之一所述的方法,其中,所述方法还包括:
响应于接收到来自用户的、针对所述子应用的用户信息获取权限限制请求,关闭所述子应用的用户信息获取权限。
12.根据权利要求1-10之一所述的方法,其中,所述用户信息由所述子应用的母应用维护。
13.根据权利要求1-10之一所述的方法,其中,所述用户信息包括以下至少一项:用户昵称、用户头像、用户爱好信息、用户备注信息、用户好友关系信息。
14.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-13中任一所述的方法。
CN201811633365.2A 2018-12-29 2018-12-29 信息加密方法、电子设备和计算机可读介质 Active CN109743161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811633365.2A CN109743161B (zh) 2018-12-29 2018-12-29 信息加密方法、电子设备和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811633365.2A CN109743161B (zh) 2018-12-29 2018-12-29 信息加密方法、电子设备和计算机可读介质

Publications (2)

Publication Number Publication Date
CN109743161A CN109743161A (zh) 2019-05-10
CN109743161B true CN109743161B (zh) 2022-04-26

Family

ID=66362161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811633365.2A Active CN109743161B (zh) 2018-12-29 2018-12-29 信息加密方法、电子设备和计算机可读介质

Country Status (1)

Country Link
CN (1) CN109743161B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321738A (zh) * 2019-07-10 2019-10-11 上海掌门科技有限公司 信息处理方法和装置
CN110502908A (zh) * 2019-07-30 2019-11-26 广东分利宝金服科技有限公司 基于移动端的本地数据加密的方法
CN111680039A (zh) * 2020-05-28 2020-09-18 北京三快在线科技有限公司 订单信息的存储方法、查询方法、装置、设备及存储介质
CN112804330B (zh) * 2021-01-14 2023-04-18 京东科技控股股份有限公司 应用通信方法及设备
CN114363088B (zh) * 2022-02-18 2024-04-16 京东科技信息技术有限公司 用于请求数据的方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394883A (zh) * 2011-11-03 2012-03-28 徐文呈 在通信设备间合成码索引种子的方法及应用系统
CN108200089A (zh) * 2018-02-07 2018-06-22 腾讯云计算(北京)有限责任公司 信息安全的实现方法、装置、系统以及存储介质
CN108683648A (zh) * 2018-05-02 2018-10-19 珠海横琴盛达兆业科技投资有限公司 一种基于微信小程序与服务器之间通过不断地变换验证码来实现安全通信的方法
CN108683700A (zh) * 2018-04-03 2018-10-19 四川新网银行股份有限公司 一种基于微信小程序及金融开放平台的金融能力输出模式
CN108737412A (zh) * 2018-05-15 2018-11-02 福建天晴数码有限公司 一种实现数据请求的方法及终端
CN108768928A (zh) * 2018-04-04 2018-11-06 厦门集微科技有限公司 一种信息获取方法、终端及服务器
CN108920366A (zh) * 2018-06-28 2018-11-30 腾讯科技(深圳)有限公司 一种子应用调试方法、装置及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8146141B1 (en) * 2003-12-16 2012-03-27 Citibank Development Center, Inc. Method and system for secure authentication of a user by a host system
CN101635622B (zh) * 2008-07-24 2013-06-12 阿里巴巴集团控股有限公司 一种网页加密和解密的方法、系统及设备
EP3048553B1 (en) * 2015-01-22 2019-06-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for distributing applets, and entities for distributing applets
US9729528B2 (en) * 2015-07-03 2017-08-08 Afero, Inc. Apparatus and method for establishing secure communication channels in an internet of things (IOT) system
CN105871854B (zh) * 2016-04-11 2018-11-20 浙江工业大学 基于动态授权机制的自适应云访问控制方法
CN105827620B (zh) * 2016-04-25 2019-04-02 上海众人网络安全技术有限公司 一种数据传输系统及其方法
US10581980B2 (en) * 2017-06-01 2020-03-03 Xandr Inc. Device identification techniques using shared device graph
CN108809811B (zh) * 2018-06-12 2021-11-16 腾讯科技(深圳)有限公司 对象分享方法和装置
CN109062945B (zh) * 2018-06-21 2021-07-09 北京三快在线科技有限公司 一种社交网络的信息推荐方法、装置及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394883A (zh) * 2011-11-03 2012-03-28 徐文呈 在通信设备间合成码索引种子的方法及应用系统
CN108200089A (zh) * 2018-02-07 2018-06-22 腾讯云计算(北京)有限责任公司 信息安全的实现方法、装置、系统以及存储介质
CN108683700A (zh) * 2018-04-03 2018-10-19 四川新网银行股份有限公司 一种基于微信小程序及金融开放平台的金融能力输出模式
CN108768928A (zh) * 2018-04-04 2018-11-06 厦门集微科技有限公司 一种信息获取方法、终端及服务器
CN108683648A (zh) * 2018-05-02 2018-10-19 珠海横琴盛达兆业科技投资有限公司 一种基于微信小程序与服务器之间通过不断地变换验证码来实现安全通信的方法
CN108737412A (zh) * 2018-05-15 2018-11-02 福建天晴数码有限公司 一种实现数据请求的方法及终端
CN108920366A (zh) * 2018-06-28 2018-11-30 腾讯科技(深圳)有限公司 一种子应用调试方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Forensic Analysis of Encrypted Instant Messaging Applications on Android;Khushboo Rathi ect.;《2018 6th International Symposium on Digital Forensic and Security (ISDFS)》;20180507;全文 *
基于Docker和微信小程序的技术设备生命周期管理平台;徐昫;《视听界(广播电视技术)》;20181210;全文 *

Also Published As

Publication number Publication date
CN109743161A (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
CN109743161B (zh) 信息加密方法、电子设备和计算机可读介质
CN108550037B (zh) 基于区块链的文件处理方法和装置
CN107248984B (zh) 数据交换系统、方法和装置
US20210234697A1 (en) Systems and methods for inter-service authentication
CN108923925B (zh) 应用于区块链的数据存储方法和装置
CN107040520B (zh) 一种云计算数据共享系统及方法
CN111258602A (zh) 信息更新方法和装置
CN111199037B (zh) 登录方法、系统和装置
CN113271296A (zh) 一种登录权限管理的方法和装置
CN110602085B (zh) 区块链上数据共享处理方法、装置、存储介质及电子设备
CN109711178B (zh) 一种键值对的存储方法、装置、设备及存储介质
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
CN114363088A (zh) 用于请求数据的方法和装置
US11133926B2 (en) Attribute-based key management system
CN109635558B (zh) 访问控制方法、装置和系统
CN114036364B (zh) 用于识别爬虫的方法、装置、设备、介质和系统
CN115589316A (zh) 一种数据加密传输方法、装置、电子设备及存储介质
CN112966286B (zh) 用户登录的方法、系统、设备和计算机可读介质
CN112565156B (zh) 信息注册方法、装置和系统
CN113761585B (zh) 一种数据处理方法、装置和系统
CN113626848A (zh) 样本数据生成方法、装置、电子设备及计算机可读介质
CN110781523B (zh) 用于处理信息的方法和装置
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
CN109657481B (zh) 数据管理方法及装置
CN112769565A (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
GR01 Patent grant
GR01 Patent grant