发布信息

读取通讯录的方法、装置、系统及计算机可读存储介质与流程

作者:admin      2022-09-02 17:13:30     298



电子通信装置的制造及其应用技术1.本技术涉及终端技术领域,尤其涉及一种读取通讯录的方法、装置、系统及计算机可读存储介质。背景技术:2.目前,越来越多的应用需要访问终端的通讯录,以读取通讯录中的联系人号码,并将读取的联系人号码发送给应用服务器,由应用服务器根据接收的联系人号码进行相关操作。比如,应用服务器可以将接收的联系人号码与应用内用户账号绑定的联系人号码进行匹配,将匹配的用户账号推荐给用户,引导用户将推荐的用户账号添加为好友。3.相关技术中,为了保护用户隐私,终端对通讯录进行了访问权限控制。在用户首次打开安装的应用时,终端可以显示应用的权限申请界面,该权限申请界面包括申请访问通讯录的权限的信息。用户可以基于该权限申请界面授予应用访问通讯录的权限。在被授予访问通讯录的权限之后,应用即能够读取到终端的通讯录中的所有联系人号码。4.但是,很多用户为了应用的便利性,会在打开应用后在该权限申请界面直接授予应用访问通讯录的权限,使得应用能够读取通讯录中的所有联系人号码,联系人号码被泄露的风险较大。技术实现要素:5.本技术提供一种读取通讯录的方法、装置、系统及计算机可读存储介质,可以解决相关技术中存在的联系人信息被泄露的风险较大的问题。6.为达到上述目的,本技术采用如下技术方案:7.第一方面,提供一种读取通讯录的方法,该方法应用于终端、终端中的通讯录模块或通讯录应用,该方法包括:8.接收终端上运行的应用发送的通讯录读取指令。响应于该通讯录读取指令,获取多个第一脱敏联系人号码,向应用发送多个第一脱敏联系人号码,多个第一脱敏联系人号码是对终端的通讯录中的多个第一联系人号码进行脱敏处理得到。接收应用发送的联系人匹配指令,联系人匹配指令携带待匹配联系人号码,待匹配联系人号码是多个第二联系人号码中与多个第一脱敏联系人号码中任一第一脱敏联系人号码匹配的第二联系人号码,多个第二联系人号码是在应用的服务器中注册的多个用户标识关联的联系人号码。响应于该联系人匹配指令,向应用发送目标联系人号码,目标联系人号码是多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码中的全部或部分。9.如此,终端在接收到应用的通讯录读取指令后,可以先获取对通讯录中的联系人进行脱敏处理得到的脱敏联系人号码,并向应用发送脱敏联系人号码。通过发送脱敏联系人号码,可以使得应用无法根据脱敏联系人号码确定脱敏处理前的真实联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。之后,终端再根据应用的联系人匹配指令,向应用发送与在应用的服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则不发送,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。10.其中,第一联系人号码可以为手机号码或座机号码等。多个第一联系人号码可以为通讯录中的全部联系人号码或部分联系人号码,本技术实施例对此不作限定。比如,多个第一联系人号码为通讯录中满足预设条件的联系人号码。其中,该预设条件可以为位于白名单中的联系人号码,或者联系次数大于或等于预设次数的联系人号码等。其中,预设次数可以预先设置,比如可以为1或2等。11.作为一个示例,获取多个第一脱敏联系人号码包括以下两种实现方式:12.第一种实现方式:对终端的通讯录中的多个第一联系人号码进行脱敏处理,得到多个第一脱敏联系人号码。13.其中,脱敏处理是指去除待脱敏数据中的敏感信息,实现敏感隐私数据的可靠保护。通过对多个第一联系人号码进行脱敏处理,可以使得获取的多个第一脱敏联系人号码中不存在敏感信息,进而使得应用或应用服务器无法根据第一脱敏联系人号码确定脱敏处理前的第一联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。14.作为一个示例,脱敏处理所采用的脱敏算法需要满足以下条件中的一种或多种:15.1)脱敏处理结果不可逆。脱敏处理结果不可逆是指根据经过脱敏处理得到的脱敏数据不能恢复出脱敏处理前的数据。通过保证脱敏处理结果不可逆,可以保证应用服务器根据上报的第一脱敏联系人号码无法反算出真实的第一联系人号码,从而避免了联系人号码被泄露的风险。16.2)脱敏处理结果的确定性。脱敏处理结果的确定性是指相同数据的脱敏处理结果相同,如此能够保证相同的第一联系人号码经过脱敏处理能够得到相同的第一脱敏联系人号码。17.3)满足碰撞概率要求。碰撞概率是指一个数据的数量与经过脱敏处理后能够得到该数据的脱敏处理结果的所有数据的数量之间的比例,即一个确定的第一联系人号码的数量与经过脱敏处理后能够得到该第一联系人号码对应的第一脱敏联系人号码的所有第一联系人号码的数量之间的比例。满足碰撞概率要求是指所采用的脱敏处理算法的碰撞概率在预设碰撞概率范围内。18.其中,预设碰撞概率范围可以预先设置。预设碰撞概率范围中的碰撞概率不能太高,也不能太低。碰撞概率太高,会导致根据脱敏联系人号码进行联系人匹配时能够匹配到的联系人号码太多,终端与应用服务器之间需要传输的数据量较大,以及终端侧进行联系人匹配时需要查询联系人号码的次数较多,这将降低终端的使用性能。碰撞概率太低,会导致数据脱敏效果较差,根据脱敏联系人号码进行联系人匹配时匹配到真实联系人号码的可能性高。示例地,预设碰撞概率范围为1:10~1:1000。19.4)适用于字符串型数据。由于第一联系人号码为字符串数据,因此,需要保证所采用的脱敏处理算法能够适用于字符串数据,这样才能成功对第一联系人号码进行脱敏处理。20.作为一个示例,上述脱敏处理包括匿名化处理。也即是,可以对多个第一联系人号码进行匿名化处理,得到多个匿名联系人号码,将这多个匿名联系人号码作为多个第一脱敏联系人号码。21.匿名化处理是指以不再能够被识别的方式将数据变换为匿名数据,即根据匿名化处理得到的匿名数据无法恢复出匿名化处理前的数据,可以实现敏感隐私数据的可靠保护。通过对多个第一联系人号码进行匿名化处理,能够消除根据获取的第一脱敏联系人号码来识别第一联系人号码的可能性,使得应用服务器无法根据第一脱敏联系人号码恢复出第一联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。22.作为一个示例,匿名化处理所采用的匿名化处理算法可以包括掩码处理、截断处理、加噪处理、日期偏移处理、置换处理和取余运算中的任一种。掩码处理是指将数据的部分字符替换为预设字符。截断处理是指舍弃数据的部分字符。加噪处理是指在数据中增加一个随机值。日期偏移处理是指在偏移的基础上进行取整处理。置换处理是指对数据随机进行打乱。取余运算是指将数据除以预设模后确定得到的余数。23.作为一个示例,由于掩码处理、截断处理和取余运算满足上述4种条件,且算法简单易实现,执行效率较高,因此匿名化处理所采用的匿名化处理算法包括掩码处理、截断处理和取余运算这几种匿名化处理算法,当然也可以包括满足上述几种匿名化处理条件中的一种或多种的其他匿名化处理算法,本技术实施例对此不作限定。24.比如,对多个第一联系人号码进行匿名化处理的操作包括以下几种实现方式:25.1)对于多个第一联系人号码中的任一联系人号码,将第一联系人号码中第一指定位置的字符替换为预设字符。26.其中,预设字符为预先设置的字符,可以为除联系人号码中的常用字符之外的特殊字符,如“*”或“#”等。第一指定位置可以为第一联系人号码包括的字符中的前m位或后n位,比如为联系人号码中的前m位或后n位。其中,m和n为正整数,比如为1、2或3等。27.2)将第一联系人号码中第二指定位置的字符进行删除。28.其中,第二指定位置可以为第一联系人号码包括的字符中的前m位或后n位,比如为联系人号码中的前m位或后n位。其中,m和n为正整数,比如为1、2或3等。29.3)对第一联系人号码进行取余运算。30.例如,可以基于预设模对第一联系人号码进行取余运算,即将第一联系人号码除以该预设模,将获得的余数作为第一联系人号码对应的第一脱敏联系人号码。31.其中,预设模为预先设置的除数。示例地,预设模可以根据碰撞概率要求进行设置,使得基于预设模进行的取余运算能够满足碰撞概率要求。比如,预设模在4999,999,999~49,999,999范围内。32.第二种实现方式:从存储的通讯录数据中获取多个第一脱敏联系人号码。33.也即是,终端可以预先对终端的通讯录中的多个第一联系人号码进行脱敏处理,并将脱敏处理后得到的多个第一脱敏联系人号码存储在通讯录数据中。在接收到通讯录读取指令后,即可直接从存储的通讯录数据中获取多个第一脱敏联系人号码,而无需再对通讯录中的多个第一联系人号码进行匿名化处理。如此,可以减小数据处理量,提高获取多个第一脱敏联系人号码的效率。34.在一种可能的实现方式中,终端为应用提供有脱敏数据读取接口,应用可以通过调用终端的脱敏数据读取接口来发送通讯录读取指令。比如,应用在需要读取终端的通讯录时,可以调用终端的脱敏数据读取接口,以获取多个第一脱敏联系人号码。35.其中,该脱敏数据读取接口用于读取对通讯录的多个第一脱敏联系人号码。比如,该脱敏数据读取接口用于从存储的通讯录数据中获取多个第一脱敏联系人号码,或者对终端的通讯录中的多个第一联系人号码进行脱敏处理,得到多个第一脱敏联系人号码。36.其中,该脱敏数据读取接口为通讯录对应的接口,可以为终端系统提供的接口,终端内置的通讯录模块提供的接口,或者终端的通讯录应用提供的接口等。也即是,应用可以通过终端系统的脱敏数据读取接口、通讯录模块的脱敏数据读取接口或者通讯录应用的脱敏数据读取接口来触发通讯录读取指令。37.在一种可能的实现方式中,应用还可以获取终端对多个第一联系人号码进行脱敏处理所采用的脱敏处理算法,然后向服务器发送指示信息,该指示信息用于指示该脱敏处理算法。如此,可以通过指示信息向服务器告知终端采用的脱敏处理算法,以便服务器采用相同的脱敏处理算法对在服务器中注册的用户标识关联的第二联系人号码进行脱敏处理。38.作为一个示例,应用可以调用通讯录接口来获取该脱敏处理算法。其中,该通讯录接口与用于获取多个第一脱敏联系人号码的脱敏数据读取接口可以为相同接口,也可以为不同接口,本技术实施例对此不作限定。39.作为一种示例,为了节省信令开销,该指示信息可以与向服务器发送的多个第一脱敏联系人号码携带在相同的消息中发送给服务器。当然,该指示信息也可以和向服务器发送的多个第一脱敏联系人号码携带在不同的消息中,本技术实施例对此不作限定。40.在一种可能的实现方式中,在接收到应用触发的通讯录读取指令之后,终端还可以先获取应用的数字证书,并对应用的数字证书进行验证。若验证通过,则对该通讯录读取指令进行响应。若未验证通过,则不对该通讯录读取指令进行响应。41.其中,应用的数字证书是由终端为其颁发的。也即是,若应用想要读取终端的通讯录,需要先向终端申请数字证书,在获取到终端颁发的数字证书之后,终端才会允许应用读取终端的通讯录。如此,可以提高通讯录中数据的安全性,进一步减小通讯录中联系人号码泄露的风险。42.值得注意的是,服务器获取到待匹配联系人号码后,可能会穷举所有经过脱敏理后能够得到待匹配联系人号码对应的脱敏联系人号码的所有联系人号码,然后通过应用将穷举的所有联系人号码作为待匹配联系人号码发送给终端,以请求终端查找并上报通讯录中与穷举的联系人号码匹配的联系人号码。43.这样,通过穷举的方式,服务器可能读取到通讯录中除了与在服务器中注册的用户标识关联的联系人号码之外的更多的联系人号码,进而可能读取到通讯录中的所有联系人号码,如此,将导致联系人号码被泄露的风险较大。44.本技术实施例中,为了减小联系人号码被泄露的风险,可以采取一些消减措施来避免服务器通过穷举的方式读取到通讯录中较多的联系人号码。其中,该消减措施可以包括以下几种实现方式中的一种或多种:45.第一种消减措施:控制待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量。46.通过控制待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量,可以保证待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量不大于预设数量,进而保证待匹配联系人号码不可能包括根据一个脱敏联系人号码穷举的所有联系人号码,从而减小了服务器通过请求匹配穷举的联系人号码来读取到通讯录中较多联系人号码的可能,进而减小了联系人号码被泄露的风险。47.比如,在接收到该联系人匹配指令后,终端可以先确定联系人匹配指令中包括的经过脱敏处理后能够得到相同脱敏联系人号码的待匹配联系人号码的数量的最大值。若该最大值小于或等于预设值,则对该联系人匹配指令进行响应,以向应用发送目标联系人号码。若该最大值大于预设值,则不对该联系人匹配指令进行响应。48.作为一个示例,终端可以为应用提供联系人查询接口,该联系人查询接口用于查询通讯录中与指定联系人号码相同的联系人号码。上述联系人匹配指令可以通过调用终端的联系人查询接口来发送。也即是,应用在接收到该联系人匹配请求后,可以调用终端的联系人查询接口,通过该联系人查询接口来获取目标联系人号码。49.其中,该联系人查询接口可以为通讯录对应的接口,可以为终端系统提供的接口,终端内置的通讯录模块提供的接口,或者终端的通讯录应用提供的接口等。也即是,应用可以通过终端系统的联系人查询接口、通讯录模块的联系人查询接口或者通讯录应用的联系人查询接口来触发联系人匹配指令。50.作为一个示例,上述第一种消减措施可以由联系人查询接口实现。比如,在该联系人查询接口被调用后,该联系人查询接口可以先确定确定经过脱敏处理后能够得到相同脱敏联系人号码的待匹配联系人号码的数量的最大值。若该最大值小于或等于预设值,则获取目标联系人号码,并返回接口调用结果,该接口调用结果包括目标联系人号码。若最大值大于预设值,则返回接口调用失败消息。51.另外,若联系人匹配指令是通过调用终端的联系人查询接口发送的,为了进一步减小服务器读取到通讯录中较多联系人号码的可能性,还可以控制应用对联系人查询接口的调用次数,以保证应用在一个查询周期内对联系人查询接口的调用次数不大于预设次数,从而避免应用通过频繁调用联系人查询接口来读取到通讯录中较多联系人号码,进而减小了联系人号码被泄露的风险。52.比如,在接收到联系人匹配指令后,可以先确定应用在预设时间段内调用该终端的联系人查询接口的调用次数;若调用次数小于预设次数,则对该联系人匹配指令进行响应,以向应用发送目标联系人号码。若调用次数大于或等于预设次数,则不对该联系人匹配指令进行响应。其中,预设时间段可以预先设置。比如,预设时间段可以为当前时间所处的查询周期。查询周期可以为一天或一个月等,本技术实施例对此不作限定。53.第二种消减措施:由用户选择上报的第一联系人号码。54.也即是,由用户从与待匹配联系人号码匹配的第一联系人号码中选择想要上报的第一联系人号码,再将用户选择的第一联系人号码通过应用上报给服务器。55.在一种可能的实现方式中:终端接收到应用触发的联系人匹配指令后,显示第一用户界面,以便用户基于第一用户界面从与待匹配联系人号码匹配的第一联系人号码中选择向应用发送的目标联系人号码。56.终端接收到联系人匹配指令后,可以先显示第一用户界面,第一用户界面显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码的号码标识。若检测到对第一用户界面中的号码标识的第一选择指令,则将第一选择指令选择的号码标识对应的第一联系人号码确定为目标联系人号码,然后向应用发送目标联系人号码。57.其中,与待匹配联系人号码相同的第一联系人号码的号码标识用于指示对应的第一联系人号码。号码标识可以包括与待匹配联系人号码相同的第一联系人号码、与待匹配联系人号码相同的第一联系人号码对应的联系人姓名、以及与待匹配联系人号码相同的第一联系人号码关联的用户标识中的一种或多种。其中,用户标识可以为用户昵称或用户id等。58.作为一个示例,第一用户界面显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码,以及各个第一联系人号码对应的联系人姓名。用户可以根据显示的联系人姓名选择想要上报的联系人号码。若检测到对第一用户界面中联系人姓名的第一选择指令,则将第一选择指令选择的联系人姓名对应的第一联系人号码作为目标联系人号码,并向应用发送目标联系人号码。59.作为另一个示例,服务器可以向应用发送待匹配联系人号码以及待匹配联系人号码关联的用户标识。相应地,第一用户界面还可以显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码对应的联系人姓名,以及各个第一联系人号码关联的用户标识。60.作为一个示例,终端可以向应用提供ui接口,该ui接口用于显示第一用户界面,并根据用户基于第一用户界面选择的第一联系人号码向应用发送目标联系人号码。可选地,该ui接口可以为终端系统提供的接口、通讯录模块的联系人查询接口或者通讯录应用的联系人查询接口来触发联系人匹配指令。61.作为一个示例,应用在接收到服务器发送的待匹配联系人号码后,可以先调用终端的联系人匹配接口,以从多个第一联系人号码中获取与待匹配联系人号码相同的第一联系人号码。然后,再调用终端的ui接口,以获取用户从与待匹配联系人号码相同的第一联系人号码中选择的目标联系人号码。62.在另一种可能的实现方式中:应用接收到终端发送的目标联系人号码后,显示第二用户界面,以便用户基于第二用户界面从目标联系人号码中选择最终向服务器上报的联系人号码。63.应用接收到终端发送的目标联系人号码后,可以显示第二用户界面,第二用户界面显示有目标联系人号码的号码标识。若检测到对第二用户界面中的号码标识的第二选择指令,则将第二选择指令选择的号码标识对应的联系人号码发送给服务器。64.其中,目标联系人号码的号码标识用于指示目标联系人号码。目标联系人号码的号码标识可以包括目标联系人号码、目标联系人号码对应的联系人姓名、以及目标联系人号码关联的用户标识中的至少一种。65.通过由用户选择上报的第一联系人号码,这样,即使服务器下发的待匹配联系人号码中包括穷举的联系人号码,但在终端从通讯录中确定与待匹配联系人号码匹配的第一联系人号码之后,还可以由用户进一步从确定的第一联系人号码中进行筛选,再将用户筛选出的第一联系人号码上报给服务器,而并不是直接将所有与待匹配联系人号码匹配的第一联系人号码均上报给服务器,从而避免了服务器能够通过穷举的方式读取到通讯录中的较多联系人号码的问题,进而减小了联系人号码被泄露的风险。另外,还可以使得用户对联系人号码可知可控,带给用户良好的安全体验。66.另外,在向服务器发送目标联系人号码中的全部或部分后,终端还可以接收服务器发送的与目标联系人号码中的全部或部分关联的用户标识,基于接收的用户标识,显示用户推荐信息。该用户推荐信息包括接收的用户标识以及接收的用户标识关联的第一联系人号码的号码标识。若检测到对该用户推荐信息中的用户标识的第三选择指令,则向服务器发送用户添加请求,该用户添加请求携带第三选择指令选择的用户标识。该用户添加请求用于请求服务器将建立第三选择指令选择的用户标识与终端登录的用户标识之间的对应关系。67.通过从服务器推荐的用户标识中选择用户标识,基于选择的用户标识向服务器发送用户添加请求,可以将请求服务器将用户选择的用户标识添加为好友。如此,可以满足用户快速寻找应用好友以及快速添加应用好友的需求。68.第二方面,提供了一种实现读取通讯录的装置,所述实现读取通讯录的装置具有实现上述第一方面中读取通讯录的方法行为的功能。所述实现读取通讯录的装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的读取通讯录的方法。69.第三方面,提供了一种实现读取通讯录的装置,所述实现读取通讯录的装置的结构中包括处理器和存储器,所述存储器用于存储支持实现读取通讯录的装置执行上述第一方面所提供的读取通讯录的方法的程序,以及存储用于实现上述第一方面所述的读取通讯录的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述实现读取通讯录的装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。70.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的读取通讯录的方法。71.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的读取通讯录的方法。72.上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。73.第六方面,提供了一种读取通讯录的方法,应用于应用,该方法包括:74.触发通讯录读取指令,以获取多个第一脱敏联系人号码,多个第一脱敏联系人号码是对终端的通讯录中的多个第一联系人号码进行脱敏处理得到。将多个第一脱敏联系人号码发送给服务器。接收服务器发送的待匹配联系人号码,待匹配联系人号码是多个第二联系人号码中与多个第一脱敏联系人号码中任一第一脱敏联系人号码匹配的第二联系人号码,多个第二联系人号码是在服务器中注册的多个用户标识关联的联系人号码。触发联系人匹配指令,以获取目标联系人号码,目标联系人号码是多个第一联系人号码中与联系人匹配指令所指示的待匹配联系人号码相同的第一联系人号码中的全部或部分。向服务器发送目标联系人号码中的全部或部分。75.如此,应用通过触发通讯录读取指令,仅能获取并向服务器上报通讯录的脱敏联系人号码,使得服务器无法根据脱敏联系人号码确定脱敏处理前的真实联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。之后,应用可以接收服务器发送的待匹配联系人号码,并触发联系人匹配指令,以获取目标联系人号码,并将目标联系人号码中的部分或全部上报给服务器。由于待匹配联系人号码是在与在应用的服务器中注册的用户标识关联的第二联系人号码中与任一第一脱敏联系人号码匹配的第二联系人号码,目标联系人号码是多个第一联系人号码中与待匹配联系人号码匹配的第一联系人号码中的全部或部分,因此,应用仅能获取并上报与在应用的服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则无法获取和上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。76.其中,该通讯录读取指令用于读取终端的通讯录,以获取通讯录中的联系人号码。在应用运行的过程中,应用可以触发通讯录读取指令。比如,应用可以在检测到用户借助终端首次登陆应用时,触发通讯录读取指令。或者,在通过终端提供的相关接口检测到终端的通讯录发生更新时,触发通讯录读取指令。77.在一种可能的实现方式中,应用还可以获取终端对多个第一联系人号码进行脱敏处理所采用的脱敏处理算法,然后向应用服务器发送指示信息,该指示信息用于指示该脱敏处理算法。如此,可以通过指示信息向应用服务器告知终端采用的脱敏处理算法,以便应用服务器采用相同的脱敏处理算法对在应用服务器中注册的用户标识关联的第二联系人号码进行脱敏处理。78.作为一个示例,应用可以调用终端的通讯录接口来获取该脱敏处理算法。其中,该通讯录接口与用于获取多个第一脱敏联系人号码的脱敏数据读取接口可以为相同接口,也可以为不同接口,本技术实施例对此不作限定。79.作为一种示例,为了节省信令开销,该指示信息可以与向应用服务器发送的多个第一脱敏联系人号码携带在相同的消息中发送给应用服务器。当然,该指示信息也可以和向应用服务器发送的多个第一脱敏联系人号码携带在不同的消息中。80.作为一个示例,应用接收到终端发送的目标联系人号码后,还可以显示第二用户界面,以便用户基于第二用户界面从目标联系人号码中选择最终向应用服务器上报的联系人号码。81.其中,第二用户界面显示有目标联系人号码的号码标识。应用若检测到对第二用户界面中的号码标识的第二选择指令,即可将第二选择指令选择的号码标识对应的联系人号码发送给应用服务器。82.其中,目标联系人号码的号码标识用于指示目标联系人号码。目标联系人号码的号码标识可以包括目标联系人号码、目标联系人号码对应的联系人姓名、以及目标联系人号码关联的用户标识中的至少一种。83.通过由用户选择上报的第一联系人号码,这样,即使应用服务器下发的待匹配联系人号码中包括穷举的联系人号码,但在终端从通讯录中确定与待匹配联系人号码匹配的第一联系人号码之后,还可以由用户进一步从确定的第一联系人号码中进行筛选,再由应用将用户筛选出的第一联系人号码上报给应用服务器,而并不是直接将所有与待匹配联系人号码匹配的第一联系人号码均上报给应用服务器,从而避免了应用服务器能够通过穷举的方式读取到通讯录中的较多联系人号码的问题,进而减小了联系人号码被泄露的风险。另外,还可以使得用户对联系人号码可知可控,带给用户良好的安全体验。84.第七方面,提供了一种实现读取通讯录的装置,所述实现读取通讯录的装置具有实现上述第六方面中读取通讯录的方法行为的功能。所述实现读取通讯录的装置包括至少一个模块,所述至少一个模块用于实现上述第六方面所提供的读取通讯录的方法。85.第八方面,提供了一种实现读取通讯录的装置,所述实现读取通讯录的装置的结构中包括处理器和存储器,所述存储器用于存储支持实现读取通讯录的装置执行上述第六方面所提供的读取通讯录的方法的程序,以及存储用于实现上述第六方面所述的读取通讯录的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述实现读取通讯录的装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。86.第九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第六方面所述的读取通讯录的方法。87.第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第六方面所述的读取通讯录的方法。88.上述第七方面、第八方面、第九方面和第十方面所获得的技术效果与上述第六方面中对应的技术手段获得的技术效果近似,在这里不再赘述。89.第十一方面,提供了一种读取通讯录的方法,应用于服务器,该方法包括:90.接收终端发送的多个第一脱敏联系人号码。从多个第二联系人号码中确定与多个第一脱敏联系人号码中任一第一脱敏联系人号码匹配的第二联系人号码,得到待匹配联系人号码,多个第二联系人号码是在服务器中注册的多个用户标识关联的联系人号码。向终端发送待匹配联系人号码。接收终端发送的目标联系人号码中的全部或部分,目标联系人号码是多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码中的全部或部分,多个第一联系人号码是终端的通讯录中的多个联系人号码。91.本技术实施例中,服务器可以根据终端上报的脱敏联系人号码,从在服务器中注册的用户标识关联的第二联系人号码中确定待匹配联系人号码,再基于待匹配联系人号码从终端获取与待匹配联系人号码相同的第一联系人号码。如此,使得终端仅需上报与在服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则不进行上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。92.其中,服务器可以为应用服务器。比如,终端安装有某个应用,服务器为该应用的后台服务器。多个第二联系人号码是在服务器中注册的多个用户标识关联的联系人号码。用户标识是在服务器中注册得到,可以为用户账号或用户昵称等。用户标识关联的联系人号码是指用户标识绑定的联系人号码。比如,用户借助终端在应用中进行注册时,通常还会填写用户的联系人号码,这样服务器即可将用户注册的用户标识与其填写的联系人号码进行绑定,以建立两者之间的关联关系。93.作为一个示例,服务器可以从多个第二脱敏联系人号码中获取与多个第一脱敏联系人号码中任一第一脱敏联系人号码相同的第二脱敏联系人号码,然后将获取的第二脱敏联系人号码对应的第二联系人号码确定为待匹配联系人号码。其中,多个第二脱敏联系人号码是对多个第二联系人号码进行脱敏处理得到。94.比如,服务器在从多个第二联系人号码中确定与多个第一脱敏联系人号码中任一第一脱敏联系人号码匹配的第二联系人号码之前,可以先获取在服务器中注册的多个用户标识关联的联系人号码,得到多个第二联系人号码,再对多个第二联系人号码进行脱敏处理,得到多个第二脱敏联系人号码。95.其中,对这多个第二联系人号码进行脱敏处理采用的脱敏处理算法与终端对通讯录中的多个第一联系人号码进行脱敏处理所采用的脱敏处理算法相同,如此可以在避免联系人号码泄露的同时,保证联系人号码匹配的准确性。96.作为一个示例,服务器在从多个第二联系人号码中确定与多个第一脱敏联系人号码中任一第一脱敏联系人号码匹配的第二联系人号码之前,可以先接收终端发送的指示信息,然后按照该指示信息指示的脱敏处理算法,对多个第二联系人号码进行脱敏处理,得到多个第二脱敏联系人号码。其中,该指示信息用于指示用于生成多个第一脱敏联系人号码的脱敏处理算法。97.服务器在接收目标联系人号码中的全部或部分后,还可以确定接收的联系人号码关联的用户标识,然后根据确定的用户标识执行相关操作。比如,服务器可以将确定的用户标识推荐给该终端登录的用户标识,以引导用户对推荐的用户标识进行关注,或者将推荐的用户标识加为好友等,从而满足用户快速在应用内找朋友的需求。当然,服务器也可以基于接收的联系人号码执行其他操作,本技术实施例对此不作限定。98.作为一个示例,服务器可以根据存储的第二联系人号码与用户标识之间的对应关系,确定接收的联系人号码对应的用户标识。其中,接收的联系人号码对应的用户标识即为接收的联系人号码关联的用户标识。99.其中,该对应关系可以存储在服务器中,也可以存储在服务器关联的数据库中,或者存储在其他服务器中,本技术实施例对此不作限定。相应地,服务器可以从存储的数据中获取该对应关系,可以从该服务器关联的数据库获取该对应关系,也可以从其他服务器或者该中获取该对应关系,本技术实施例对此不作限定。100.作为一个示例,服务器基于接收的联系人号码关联的用户标识执行相关操作可以包括以下两种实现方式:101.第一种实现方式:服务器向终端发送确定的用户标识。接收终端发送的用户添加请求,建立用户添加请求携带的用户标识与终端登录的用户标识之间的对应关系。102.作为一个示例,终端接收服务器发送的用户标识后,可以显示用户推荐信息,该用户推荐信息包括接收的用户标识和接收的用户标识关联的第一联系人号码对应的号码标识。终端若检测到对该用户推荐信息中的用户标识的第三选择指令,则向服务器发送用户添加请求,该用户添加请求携带第三选择指令选择的用户标识,用于请求服务器建立选择的用户标识与终端登录的用户标识之间的对应关系。103.通过建立选择的用户标识与终端登录的用户标识之间的对应关系,可以将选择的用户标识添加至终端登录的用户标识的用户关系链中,从而将选择的用户标识添加为终端登录的用户标识的好友。104.其中,第三选择指令用于从该用户推荐信息中选择用户标识。第三选择指令可以通过用户的选择操作触发。该选择操作可以为点击操作、滑动操作、语音操作或手势操作等,本技术实施例对该选择操作不作限定。105.在一种可能的实现方式中,用户推荐信息可以包括多组推荐信息,每组推荐信息包括一个目标联系人号码以及该目标联系人号码关联的用户标识,且每组推荐信息对应设置有添加选项。用户可以通过点击添加选项来选择对应的用户标识。若应用检测到对某个添加选项的选择操作,即可确认检测到对该添加选择对应的用户标识的选择指令。106.第二种实现方式:服务器建立确定的用户标识与终端登录的用户标识之间的对应关系。107.也即是,服务器接收到目标联系人号码中的全部或部分后,可以直接建立接收的联系人号码关联的用户标识与终端登录的用户标识之间的对应关系,以将接收的联系人关联的用户标识添加至终端登录的用户标识的用户关系链中。如此,可以提高添加好友的效率,以及带给用户更好的使用体验。108.第十二方面,提供了一种实现读取通讯录的装置,所述实现读取通讯录的装置具有实现上述第十一方面中读取通讯录的方法行为的功能。所述实现读取通讯录的装置包括至少一个模块,所述至少一个模块用于实现上述第十一方面所提供的读取通讯录的方法。109.第十三方面,提供了一种实现读取通讯录的装置,所述实现读取通讯录的装置的结构中包括处理器和存储器,所述存储器用于存储支持实现读取通讯录的装置执行上述第十一方面所提供的读取通讯录的方法的程序,以及存储用于实现上述第十一方面所述的读取通讯录的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述实现读取通讯录的装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。110.第十四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第十一方面所述的读取通讯录的方法。111.第十五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第十一方面所述的读取通讯录的方法。112.上述第十二方面、第十三方面、第十四方面和第十五方面所获得的技术效果与上述第十一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。113.第十六方面,提供了一种读取通讯录的方法,应用于终端,该方法包括:114.获取多个第一脱敏联系人号码,多个第一脱敏联系人号码是对终端的通讯录中的多个第一联系人号码进行脱敏处理得到。将多个第一脱敏联系人号码发送给服务器。接收服务器发送的待匹配联系人号码,待匹配联系人号码是多个第二联系人号码中与多个第一脱敏联系人号码中任一第一脱敏联系人号码相同的第二联系人号码,多个第二联系人号码是在服务器中注册的多个用户标识关联的联系人号码。根据待匹配联系人号码获取目标联系人号码,目标联系人号码是多个第一联系人号码中与待匹配联系人号码相同的联系人号码中的全部或部分。将目标联系人号码中的全部或部分发送给服务器。115.如此,终端在接收到通讯录读取请求后,可以获取对通讯录中的联系人号码进行脱敏处理得到的脱敏联系人号码,并向服务器上报脱敏联系人号码。通过上报脱敏联系人号码,可以使得服务器无法根据脱敏联系人号码确定脱敏处理前的联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。之后,终端再根据服务器发送的待匹配联系人号码,上报通讯录中与在服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则不进行上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。116.作为一个示例,获取多个第一脱敏联系人号码包括以下两种实现方式:117.第一种实现方式:对终端的通讯录中的多个第一联系人号码进行脱敏处理,得到多个第一脱敏联系人号码。118.其中,脱敏处理是指去除待脱敏数据中的敏感信息,实现敏感隐私数据的可靠保护。通过对多个第一联系人号码进行脱敏处理,可以使得获取的多个第一脱敏联系人号码中不存在敏感信息,进而使得应用或应用服务器无法根据第一脱敏联系人号码确定脱敏处理前的第一联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。119.作为一个示例,脱敏处理所采用的脱敏算法需要满足以下条件中的一种或多种:120.1)脱敏处理结果不可逆。脱敏处理结果不可逆是指根据经过脱敏处理得到的脱敏数据不能恢复出脱敏处理前的数据。通过保证脱敏处理结果不可逆,可以保证应用服务器根据上报的第一脱敏联系人号码无法反算出真实的第一联系人号码,从而避免了联系人号码被泄露的风险。121.2)脱敏处理结果的确定性。脱敏处理结果的确定性是指相同数据的脱敏处理结果相同,如此能够保证相同的第一联系人号码经过脱敏处理能够得到相同的第一脱敏联系人号码。122.3)满足碰撞概率要求。碰撞概率是指一个数据的数量与经过脱敏处理后能够得到该数据的脱敏处理结果的所有数据的数量之间的比例,即一个确定的第一联系人号码的数量与经过脱敏处理后能够得到该第一联系人号码对应的第一脱敏联系人号码的所有第一联系人号码的数量之间的比例。满足碰撞概率要求是指所采用的脱敏处理算法的碰撞概率在预设碰撞概率范围内。123.其中,预设碰撞概率范围可以预先设置。预设碰撞概率范围中的碰撞概率不能太高,也不能太低。碰撞概率太高,会导致根据脱敏联系人号码进行联系人匹配时能够匹配到的联系人号码太多,终端与应用服务器之间需要传输的数据量较大,以及终端侧进行联系人匹配时需要查询联系人号码的次数较多,这将降低终端的使用性能。碰撞概率太低,会导致数据脱敏效果较差,根据脱敏联系人号码进行联系人匹配时匹配到真实联系人号码的可能性高。示例地,预设碰撞概率范围为1:10~1:1000。124.4)适用于字符串型数据。由于第一联系人号码为字符串数据,因此,需要保证所采用的脱敏处理算法能够适用于字符串数据,这样才能成功对第一联系人号码进行脱敏处理。125.作为一个示例,上述脱敏处理包括匿名化处理。也即是,可以对多个第一联系人号码进行匿名化处理,得到多个匿名联系人号码,将这多个匿名联系人号码作为多个第一脱敏联系人号码。126.匿名化处理是指以不再能够被识别的方式将数据变换为匿名数据,即根据匿名化处理得到的匿名数据无法恢复出匿名化处理前的数据,可以实现敏感隐私数据的可靠保护。通过对多个第一联系人号码进行匿名化处理,能够消除根据获取的第一脱敏联系人号码来识别第一联系人号码的可能性,使得应用服务器无法根据第一脱敏联系人号码恢复出第一联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。127.作为一个示例,匿名化处理所采用的匿名化处理算法可以包括掩码处理、截断处理、加噪处理、日期偏移处理、置换处理和取余运算中的任一种。掩码处理是指将数据的部分字符替换为预设字符。截断处理是指舍弃数据的部分字符。加噪处理是指在数据中增加一个随机值。日期偏移处理是指在偏移的基础上进行取整处理。置换处理是指对数据随机进行打乱。取余运算是指将数据除以预设模后确定得到的余数。128.作为一个示例,由于掩码处理、截断处理和取余运算满足上述4种条件,且算法简单易实现,执行效率较高,因此匿名化处理所采用的匿名化处理算法包括掩码处理、截断处理和取余运算这几种匿名化处理算法,当然也可以包括满足上述几种匿名化处理条件中的一种或多种的其他匿名化处理算法,本技术实施例对此不作限定。129.比如,对多个第一联系人号码进行匿名化处理的操作包括以下几种实现方式:130.1)对于多个第一联系人号码中的任一联系人号码,将第一联系人号码中第一指定位置的字符替换为预设字符。131.其中,预设字符为预先设置的字符,可以为除联系人号码中的常用字符之外的特殊字符,如“*”或“#”等。第一指定位置可以为第一联系人号码包括的字符中的前m位或后n位,比如为联系人号码中的前m位或后n位。其中,m和n为正整数,比如为1、2或3等。132.2)将第一联系人号码中第二指定位置的字符进行删除。133.其中,第二指定位置可以为第一联系人号码包括的字符中的前m位或后n位,比如为联系人号码中的前m位或后n位。其中,m和n为正整数,比如为1、2或3等。134.3)对第一联系人号码进行取余运算。135.例如,可以基于预设模对第一联系人号码进行取余运算,即将第一联系人号码除以该预设模,将获得的余数作为第一联系人号码对应的第一脱敏联系人号码。136.其中,预设模为预先设置的除数。示例地,预设模可以根据碰撞概率要求进行设置,使得基于预设模进行的取余运算能够满足碰撞概率要求。比如,预设模在4999,999,999~49,999,999范围内。137.第二种实现方式:从存储的通讯录数据中获取多个第一脱敏联系人号码。138.也即是,终端可以预先对终端的通讯录中的多个第一联系人号码进行脱敏处理,并将脱敏处理后得到的多个第一脱敏联系人号码存储在通讯录数据中。在接收到通讯录读取指令后,即可直接从存储的通讯录数据中获取多个第一脱敏联系人号码,而无需再对通讯录中的多个第一联系人号码进行匿名化处理。如此,可以减小数据处理量,提高获取多个第一脱敏联系人号码的效率。139.作为一个示例,终端可以在检测到终端上运行的应用触发的通讯录读取指令后,获取多个第一脱敏联系人号码,然后将多个第一脱敏联系人号码发送给应用,由应用发送给服务器。该通讯录读取指令可以通过调用终端的脱敏数据读取接口来发送。比如,应用在需要读取终端的通讯录时,可以调用终端的脱敏数据读取接口,以获取多个第一脱敏联系人号码。140.在一种可能的实现方式中,终端还可以获取对多个第一联系人号码进行脱敏处理所采用的脱敏处理算法,然后向服务器发送指示信息,该指示信息用于指示该脱敏处理算法。如此,可以通过指示信息向服务器告知终端采用的脱敏处理算法,以便服务器采用相同的脱敏处理算法对在服务器中注册的用户标识关联的第二联系人号码进行脱敏处理。141.作为一种示例,为了节省信令开销,该指示信息可以与向服务器发送的多个第一脱敏联系人号码携带在相同的消息中发送给服务器。当然,该指示信息也可以和向服务器发送的多个第一脱敏联系人号码携带在不同的消息中,本技术实施例对此不作限定。142.值得注意的是,服务器获取到待匹配联系人号码后,可能会穷举所有经过脱敏理后能够得到待匹配联系人号码对应的脱敏联系人号码的所有联系人号码,然后将穷举的所有联系人号码作为待匹配联系人号码发送给终端,以请求终端查找并上报通讯录中与穷举的联系人号码匹配的联系人号码。这样,通过穷举的方式,服务器可能读取到通讯录中除了与在服务器中注册的用户标识关联的联系人号码之外的更多的联系人号码,进而可能读取到通讯录中的所有联系人号码,如此,将导致联系人号码被泄露的风险较大。143.本技术实施例中,为了减小联系人号码被泄露的风险,可以采取一些消减措施来避免服务器通过穷举的方式读取到通讯录中较多的联系人号码。其中,该消减措施可以包括以下几种实现方式中的一种或多种:144.第一种消减措施:控制待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量。145.通过控制待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量,可以保证待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量不大于预设数量,进而保证待匹配联系人号码不可能包括根据一个脱敏联系人号码穷举的所有联系人号码,从而减小了服务器通过请求匹配穷举的联系人号码来读取到通讯录中较多联系人号码的可能,进而减小了联系人号码被泄露的风险。146.比如,在根据待匹配联系人号码获取目标联系人号码之前,终端可以先确定待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的待匹配联系人号码的数量的最大值。若该最大值小于或等于预设值,则执行根据待匹配联系人号码获取目标联系人号码的步骤。若该最大值大于预设值,则不执行。147.作为一个示例,终端还可以在检测到应用触发的联系人匹配指令后,根据待匹配联系人号码获取目标联系人号码。其中,联系人匹配指令携带待匹配联系人号码。联系人匹配指令可以通过调用联系人查询接口触发。联系人查询接口用于查询所述通讯录中与指定联系人号码相同的联系人号码。148.若联系人匹配指令是通过调用终端的联系人查询接口发送的,为了进一步减小服务器读取到通讯录中较多联系人号码的可能性,还可以控制应用对联系人查询接口的调用次数,以保证应用在一个查询周期内对联系人查询接口的调用次数不大于预设次数,从而避免应用通过频繁调用联系人查询接口来读取到通讯录中较多联系人号码,进而减小了联系人号码被泄露的风险。149.作为一个示例,在根据待匹配联系人号码获取目标联系人号码之前,终端还可以先检测应用通过调用联系人查询接口触发的联系人匹配指令,确定应用在预设时间段内调用所述联系人查询接口的调用次数。若调用次数小于预设次数,则执行根据待匹配联系人号码获取目标联系人号码的步骤。若调用次数大于或等于预设次数,则不执行根据待匹配联系人号码获取目标联系人号码的步骤。150.第二种消减措施:由用户选择上报的第一联系人号码。151.也即是,由用户从与待匹配联系人号码匹配的第一联系人号码中选择想要上报的第一联系人号码,再将用户选择的第一联系人号码通过应用上报给服务器。152.作为一个示例,将确定的第一联系人号码中的全部或部分确定为目标联系人号码的操作包括:显示第一用户界面,第一用户界面显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码的号码标识。若检测到对第一用户界面中的号码标识的第一选择指令,则将第一选择指令选择的号码标识对应的第一联系人号码确定为目标联系人号码,然后向应用发送目标联系人号码。153.其中,与待匹配联系人号码相同的第一联系人号码的号码标识用于指示对应的第一联系人号码。号码标识可以包括与待匹配联系人号码相同的第一联系人号码、与待匹配联系人号码相同的第一联系人号码对应的联系人姓名、以及与待匹配联系人号码相同的第一联系人号码关联的用户标识中的一种或多种。其中,用户标识可以为用户昵称或用户id等。154.作为一个示例,第一用户界面显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码,以及各个第一联系人号码对应的联系人姓名。用户可以根据显示的联系人姓名选择想要上报的联系人号码。若检测到对第一用户界面中联系人姓名的第一选择指令,则将第一选择指令选择的联系人姓名对应的第一联系人号码作为目标联系人号码,并向应用发送目标联系人号码。155.作为另一个示例,服务器可以向终端发送待匹配联系人号码以及待匹配联系人号码关联的用户标识。相应地,第一用户界面还可以显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码对应的联系人姓名,以及各个第一联系人号码关联的用户标识。156.作为一个示例,将目标联系人号码中的全部或部分发送给服务器的操作包括:显示第二用户界面,第二用户界面显示有目标联系人号码的号码标识。若检测到对第二用户界面中的号码标识的第二选择指令,则将第二选择指令选择的号码标识对应的联系人号码发送给服务器。157.其中,目标联系人号码的号码标识用于指示目标联系人号码。目标联系人号码的号码标识可以包括目标联系人号码、目标联系人号码对应的联系人姓名、以及目标联系人号码关联的用户标识中的至少一种。158.通过由用户选择上报的第一联系人号码,这样,即使服务器下发的待匹配联系人号码中包括穷举的联系人号码,但在终端从通讯录中确定与待匹配联系人号码匹配的第一联系人号码之后,还可以由用户进一步从确定的第一联系人号码中进行筛选,再将用户筛选出的第一联系人号码上报给服务器,而并不是直接将所有与待匹配联系人号码匹配的第一联系人号码均上报给服务器,从而避免了服务器能够通过穷举的方式读取到通讯录中的较多联系人号码的问题,进而减小了联系人号码被泄露的风险。另外,还可以使得用户对联系人号码可知可控,带给用户良好的安全体验。159.另外,在向服务器发送目标联系人号码中的全部或部分后,终端还可以接收服务器发送的与目标联系人号码中的全部或部分关联的用户标识,基于接收的用户标识,显示用户推荐信息。该用户推荐信息包括接收的用户标识以及接收的用户标识关联的第一联系人号码的号码标识。若检测到对该用户推荐信息中的用户标识的第三选择指令,则向服务器发送用户添加请求,该用户添加请求携带第三选择指令选择的用户标识。该用户添加请求用于请求服务器将建立第三选择指令选择的用户标识与终端登录的用户标识之间的对应关系。160.通过从服务器推荐的用户标识中选择用户标识,基于选择的用户标识向服务器发送用户添加请求,可以将请求服务器将用户选择的用户标识添加为好友。如此,可以满足用户快速寻找应用好友以及快速添加应用好友的需求。161.第十七方面,提供了一种实现读取通讯录的装置,所述实现读取通讯录的装置具有实现上述第十六方面中读取通讯录的方法行为的功能。所述实现读取通讯录的装置包括至少一个模块,所述至少一个模块用于实现上述第十六方面所提供的读取通讯录的方法。162.第十八方面,提供了一种实现读取通讯录的装置,所述实现读取通讯录的装置的结构中包括处理器和存储器,所述存储器用于存储支持实现读取通讯录的装置执行上述第十六方面所提供的读取通讯录的方法的程序,以及存储用于实现上述第十六方面所述的读取通讯录的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述实现读取通讯录的装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。163.第十九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第十六方面所述的读取通讯录的方法。164.第二十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第十六方面所述的读取通讯录的方法。165.上述第十七方面、第十八方面、第十九方面和第二十方面所获得的技术效果与上述第十六方面中对应的技术手段获得的技术效果近似,在这里不再赘述。166.第二十一方面,提供了一种实现读取通讯录的系统,所述系统包括实现读取通讯录的装置和服务器,所述装置上运行有应用。所述装置用于实现上述第二方面所述的读取通讯录的方法。所述服务器,用于实现上述第三方面所述的读取通讯录的方法。167.第二十二方面,提供了一种实现读取通讯录的系统,所述系统包括终端和服务器,所述装置上运行有应用。所述装置用于实现上述第一方面或第四方面所述的读取通讯录的方法。所述服务器,用于实现上述第三方面所述的读取通讯录的方法。168.本技术实施例中,终端在接收到应用触发的通讯录读取指令后,可以先获取对通讯录中的联系人进行脱敏处理得到的脱敏联系人号码,并向应用发送脱敏联系人号码。通过发送脱敏联系人号码,可以使得应用无法根据脱敏联系人号码确定脱敏处理前的真实联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。之后,终端再根据应用的联系人匹配指令,向应用发送目标联系人号码,由应用将目标联系人号码中的部分或全部上报给服务器。由于待匹配联系人号码是在与在应用的服务器中注册的用户标识关联的第二联系人号码中与任一第一脱敏联系人号码匹配的第二联系人号码,目标联系人号码是多个第一联系人号码中与待匹配联系人号码匹配的第一联系人号码中的全部或部分,因此终端上报的联系人号码仅是通讯录中与在服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则不上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。附图说明169.图1是本技术实施例提供的一种实现读取通讯录的系统示意图;170.图2是本技术实施例提供的一种计算机设备的结构示意图;171.图3是本技术实施例提供的一种读取通讯录的方法的示意性流程图;172.图4是本技术实施例提供的一种终端的显示界面的示意图;173.图5是本技术实施例提供的一种通讯录的显示界面的示意图;174.图6是本技术实施例提供的一种用户界面的示意图;175.图7是本技术实施例提供的一种应用界面的示意图;176.图8是本技术实施例提供的一种读取通讯录的过程的逻辑示意图;177.图9是本技术实施例提供的一种实现读取通讯录的装置的结构框图;178.图10是本技术实施例提供的另一种实现读取通讯录的装置的结构框图;179.图11是本技术实施例提供的又一种实现读取通讯录的装置的结构框图;180.图12是本技术实施例提供的又一种实现读取通讯录的装置的结构框图。具体实施方式181.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。本技术中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。182.本技术实施例中提供的一种读取通讯录的方法中所涉及到的步骤仅仅作为示例,并非所有的步骤均是必须执行的步骤,或者并非各个信息或消息中的内容均是必选的,在使用过程中可以根据需要酌情增加或减少。本技术实施例中同一个步骤或者具有相同功能的步骤或者消息在不同实施例之间可以互相参考借鉴。183.本技术实施例描述的系统架构以及业务场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。184.首先,对本技术实施例涉及的实施环境进行介绍。图1是本技术实施例提供的一种实现读取通讯录的系统示意图,如图1所示,该系统包括终端10和服务器20,终端10与服务器20之间可以通过有线网络或无线网络进行连接。185.其中,终端10中配置有通讯录,通讯录中存储有多个联系人号码。终端10可以通过出厂内置的通讯录模块配置通讯录,也可以通过安装的通讯录应用配置通讯录,本技术实施例对终端10配置通讯录的方式不作限定。终端10可以为手机、可穿戴设备、平板电脑或计算机等,本技术实施例对终端10的设备形式也不作限定。186.其中,服务器20可以访问终端10中的通讯录,以读取通讯录中的联系人号码,并根据读取的联系人号码进行相关操作。比如,服务器20可以根据读取的联系人号码关联在服务器20中注册的用户标识,将关联的用户标识推荐给终端10的用户,引导用户关注推荐的用户标识或将推荐的用户账号添加为好友。如此,可以实现用户在应用内快速寻找好友的诉求。187.作为一个示例,终端10还安装有应用11。应用11可以为终端10出厂内置的应用,也可以为出厂后由用户额外安装的应用。示例地,应用11可以为社交应用、即时通信应用、电商应用、音视频应用或新闻应用等,本技术实施例对应用11的应用类型不作限定。相应地,服务器20可以为应用服务器,比如为终端10安装的应用11的应用服务器。服务器20可以通过安装在终端10中的应用11来读取终端10中的通讯录,然后根据读取到的联系人号码执行相关操作。188.相关技术中,很多用户为了应用的便利性,会直接授予应用访问通讯录的权限,使得应用能够读取通讯录中的所有联系人信息。比如,假设终端中的某个应用为被授予访问通讯录的权限应用,若终端10接收到该应用触发的通讯录读取指令,即可读取通讯录中的所用联系人信息,并将读取的所有联系人信息发送给应用,由应用将所有联系人信息上报给服务器20。但是这种通讯录读取方式中,通讯录的开放程度较大,通讯录中联系人信息被泄露的风险也较大。189.接下来,为了便于说明,将终端10的通讯录中的联系人号码称为第一联系人号码,将在服务器20中注册的用户标识关联的联系人号码称为第二联系人号码。190.本技术实施例中,为了减少联系人号码被泄露的风险,终端10在检测到通讯录读取指令后,可以先获取对终端10的通讯录中的多个第一联系人号码进行脱敏处理得到的多个第一脱敏联系人号码,再向服务器20上报这多个第一脱敏联系人号码。通过上报脱敏联系人号码,可以避免联系人号码的泄露。服务器20接收到终端10上报的多个第一脱敏联系人号码后,可以先从多个第二联系人号码中获取与多个第一脱敏联系人号码中任一脱敏联系人号码匹配的第二联系人号码,得到待匹配联系人号码,再向终端10发送待匹配联系人号码,多个第二联系人号码是在服务器20中注册的多个用户标识关联的联系人号码。终端10在接收到待匹配联系人号码后,可以根据该待匹配联系人号码获取目标联系人号码,再将目标联系人号码中的全部或部分上报给服务器20。目标联系人号码是多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码中的全部或部分。191.如此,终端10在检测到联系人读取指令后,可以先向服务器20上报脱敏处理后的脱敏联系人号码,再上报与在服务器20中注册的用户标识关联的联系人号码,而不与服务器20中注册的用户标识关联的联系人号码则不进行上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开发,在一定程度上减小了联系人号码泄露的风险,保护了用户隐私。192.作为一个示例,服务器20可以通过运行在终端10上的应用11来读取终端10上的通讯录11。也即是,可以通过终端10、应用11与服务器20这三者之间的交互,来实现本技术实施例所述的读取通讯录的方法。193.具体地,终端10上运行的应用11可以触发通讯录读取指令。终端10接收到应用11发送的通讯录读取指令后,响应于该通讯录读取指令,则获取多个第一脱敏联系人号码,向应用11发送多个第一脱敏联系人号码。其中,多个第一脱敏联系人号码是对终端10的通讯录中的多个第一联系人号码进行脱敏处理得到。应用11接收到多个第一脱敏联系人号码后,将多个第一脱敏联系人号码发送给服务器20。194.服务器20接收到多个第一脱敏联系人号码后,从多个第二联系人号码中确定与多个第一脱敏联系人号码中任一第一脱敏联系人号码匹配的第二联系人号码,得到待匹配联系人号码。然后,将待匹配联系人号码发送给应用11。其中,多个第二联系人号码是在服务器20中注册的多个用户标识关联的联系人号码。195.应用11接收到待匹配联系人号码后,触发联系人匹配指令,联系人匹配指令携带待匹配联系人号码。终端10接收到应用11发送的联系人匹配指令后,响应于该联系人匹配指令,则向应用11发送目标联系人号码。应用11接收到目标联系人号码后,再将目标联系人号码中的全部或部分发送给服务器20。其中,目标联系人号码是多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码中的全部或部分。196.需要说明的是,上述仅是以终端10、应用11与服务器20进行交互来实现读取通讯录的方法为例进行说明,而在其他实施例中,终端10还可以被替换为终端10中的通讯录模块或通讯录应用。也即是,还可以由通讯录模块/通讯录应用与应用11进行交互,通过通讯录模块/通讯录应用、应用11和服务器20这三者之间的交互来实现读取通讯录的方法。197.其次,介绍本技术实施例涉及的设备。请参考图2,图2是本技术实施例提供的一种计算机设备的结构示意图。该计算机设备可以为上述图1中的终端10或服务器20。参见图2,该计算机设备包括至少一个处理器201、通信总线202以及至少一个通信接口204。198.处理器201可以是微处理器(包括中央处理器(central processing unit,cpu)等)、特定应用集成电路(application-specific integrated circuit,asic),或者可以是一个或多个用于控制本技术方案程序执行的集成电路。199.通信总线202可包括一通路,用于在上述组件之间传送信息。200.可选的,该计算机设备还可以包括:存储器203。存储器203可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、光盘(包括只读光盘(compact disc read-only memory,cd-rom)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203可以是独立存在,并通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。201.通信接口204使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网、无线接入网(radio access network,ran)、无线局域网(wireless local area network,wlan)等。202.在具体实现中,作为一种实施例,处理器201可以包括一个或多个cpu,如图2中所示的cpu0和cpu1。203.在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,如图2中所示的处理器201和处理器205。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。204.在具体实现中,作为一种实施例,计算机设备还可以包括输出设备和输入设备。输出设备和处理器201通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。205.上述的计算机设备可以是一个通用计算机设备或一个专用计算机设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑、移动手机、平板电脑、无线终端设备、计算机设备或嵌入式设备,本技术实施例不限定计算机设备的类型。206.其中,存储器203用于存储执行本技术方案的程序代码210,处理器201用于执行存储器203中存储的程序代码210。该计算机设备可以通过处理器201以及存储器203中的程序代码210,来实现下文图3实施例提供的读取通讯录的方法。207.接下来,对本技术实施例提供的读取通讯录的方法进行详细说明。208.图3是本技术实施例提供的一种读取通讯录的方法的示意性流程图,该方法的交互主体为终端和服务器。其中,终端可以为上述图1中的终端10,服务器可以为上述图1中的服务器20。为了便于理解,本技术实施例将以终端安装有应用,服务器为应用的应用服务器,终端、应用和服务器这三者之间进行交互来实现读取通讯录的方法为例,对本技术实施例提供的读取通讯录的方法进行详细说明。参见图3,该方法包括如下步骤:209.步骤301:用户在终端中安装应用。210.其中,应用可以为社交应用、即时通信应用、电商应用、音视频应用或新闻应用等,本技术实施例对此不作限定。比如,应用可以为qq应用或微信应用等。211.需要说明的是,本技术实施例仅是以由用户在终端中安装应用为例进行说明,而在其他实施例中,应用还可以为预先安装在终端中的应用,比如应用为终端出厂内置的应用,如终端的原生应用等,本技术实施例对此不作限定。212.步骤302:应用在运行过程中,向终端发送通讯录读取指令。213.其中,该通讯录读取指令用于读取终端的通讯录,以获取通讯录中的联系人号码。214.在应用运行的过程中,应用可以触发通讯录读取指令。比如,应用可以在检测到用户借助终端首次登陆应用时,触发通讯录读取指令。或者,在通过终端提供的相关接口检测到终端的通讯录发生更新时,触发通讯录读取指令。应理解,应用也可以在其他时机触发通讯录读取指令,本技术实施例对应用触发通讯录读取指令的时机不作限定。215.请参考图4,图4是本技术实施例提供的一种终端的显示界面的示意图。如图4中的(a)图所示,用户在终端中安装qq应用后,可以点击显示界面401中的qq应用的图标。响应于用户的点击操作,终端显示如图4中的(b)图所示的qq应用的登录界面402。用户可以在登录界面402中填写已在应用服务器中注册的用户账号和密码,然后点击登录按钮,响应于用户的点击操作,终端显示qq应用的登录成功界面。216.在用户借助终端成功登录qq应用后,若qq应用检测到用户的用户账号首次登陆qq应用,即可触发通讯录读取指令,以读取通讯录中的联系人号码,进而根据读取的联系人号码帮助用户查找可能认识的qq好友并进行qq好友推荐,从而满足用户在应用内快速找朋友的诉求。217.在一种可能的实现方式中,终端为应用提供有脱敏数据读取接口,应用可以通过调用终端的脱敏数据读取接口来发送通讯录读取指令。比如,应用在需要读取终端的通讯录时,可以调用终端的脱敏数据读取接口,以获取多个第一脱敏联系人号码。218.其中,该脱敏数据读取接口用于读取对通讯录的多个第一脱敏联系人号码。比如,该脱敏数据读取接口用于从存储的通讯录数据中获取多个第一脱敏联系人号码,或者对终端的通讯录中的多个第一联系人号码进行脱敏处理,得到多个第一脱敏联系人号码。219.其中,该脱敏数据读取接口为通讯录对应的接口,可以为终端系统提供的接口,终端内置的通讯录模块提供的接口,或者终端的通讯录应用提供的接口等。也即是,应用可以通过终端系统的脱敏数据读取接口、通讯录模块的脱敏数据读取接口或者通讯录应用的脱敏数据读取接口来触发通讯录读取指令。220.步骤303:终端接收该通讯录读取指令,响应于该通讯录读取指令,获取多个第一脱敏联系人号码,多个第一脱敏联系人号码是对终端的通讯录中的多个第一联系人号码进行匿名化处理得到。221.本技术实施例中,为了减少联系人号码泄露的风险,终端接收到通讯录读取指令后,不是直接读取和上报通讯录中的所有联系人号码,而是先获取对通讯录中的多个第一联系人号码进行匿名化处理得到的多个第一脱敏联系人号码,再通过应用向应用服务器上报多个第一脱敏联系人号码。终端通过向应用服务器上报匿名化处理后的第一脱敏联系人号码,可以使得应用服务器无法根据第一脱敏联系人号码确定匿名处理前的第一联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。222.其中,通讯录存储有多个第一联系人号码。第一联系人号码包括手机号码、座机号码等。比如,通讯录存储有多组联系人信息,每组联系人信息包括一个联系人姓名以及该联系人姓名对应的一个或多个第一联系人号码。223.请参考图5,图5是本技术实施例提供的一种通讯录的显示界面的示意图。如图5中的(a)图所示,通讯录包括多组联系人信息,且这多组联系人信息按照联系人姓名的首字母进行排序。若用户点击显示界面501中的联系人姓名“张三”,响应于用户的点击操作,终端可以显示图5中的(b)图所示的显示界面502。显示界面502包括联系人姓名“张三”以及对应的联系人号码“13512345678”。224.其中,多个第一联系人号码可以为通讯录中的全部联系人号码或部分联系人号码,本技术实施例对此不作限定。比如,多个第一联系人号码为通讯录中满足预设条件的联系人号码。其中,预设条件可以预先设置,比如预设条件可以为位于白名单中的联系人号码,或者联系次数大于或等于预设次数的联系人号码等。其中,预设次数可以预先设置,比如预设次数可以为1或2等。225.作为一个示例,获取多个第一脱敏联系人号码包括以下两种实现方式:226.第一种实现方式:对终端的通讯录中的多个第一联系人号码进行脱敏处理,得到多个第一脱敏联系人号码。227.其中,脱敏处理是指去除待脱敏数据中的敏感信息,实现敏感隐私数据的可靠保护。通过对多个第一联系人号码进行脱敏处理,可以使得获取的多个第一脱敏联系人号码中不存在敏感信息,进而使得应用或应用服务器无法根据第一脱敏联系人号码确定脱敏处理前的第一联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。228.作为一个示例,脱敏处理所采用的脱敏算法需要满足以下条件中的一种或多种:229.1)脱敏处理结果不可逆。脱敏处理结果不可逆是指根据经过脱敏处理得到的脱敏数据不能恢复出脱敏处理前的数据。通过保证脱敏处理结果不可逆,可以保证应用服务器根据上报的第一脱敏联系人号码无法反算出真实的第一联系人号码,从而避免了联系人号码被泄露的风险。230.2)脱敏处理结果的确定性。脱敏处理结果的确定性是指相同数据的脱敏处理结果相同,如此能够保证相同的第一联系人号码经过脱敏处理能够得到相同的第一脱敏联系人号码。231.3)满足碰撞概率要求。碰撞概率是指一个数据的数量与经过脱敏处理后能够得到该数据的脱敏处理结果的所有数据的数量之间的比例,即一个确定的第一联系人号码与经过脱敏处理后能够得到该第一联系人号码对应的第一脱敏联系人号码的所有第一联系人号码的数量之间的比例。满足碰撞概率要求是指所采用的脱敏处理算法的碰撞概率在预设碰撞概率范围内。232.其中,预设碰撞概率范围可以预先设置。预设碰撞概率范围中的碰撞概率不能太高,也不能太低。碰撞概率太高,会导致根据脱敏联系人号码进行联系人匹配时能够匹配到的联系人号码太多,终端与应用服务器之间需要传输的数据量较大,以及终端侧进行联系人匹配时需要查询联系人号码的次数较多,这将降低终端的使用性能。碰撞概率太低,会导致数据脱敏效果较差,根据脱敏联系人号码进行联系人匹配时匹配到真实联系人号码的可能性高。示例地,预设碰撞概率范围为1:10~1:1000。233.4)适用于字符串型数据。由于第一联系人号码为字符串数据,因此,需要保证所采用的脱敏处理算法能够适用于字符串数据,这样才能成功对第一联系人号码进行脱敏处理。234.作为一个示例,上述脱敏处理包括匿名化处理。也即是,可以对多个第一联系人号码进行匿名化处理,得到多个匿名联系人号码,将这多个匿名联系人号码作为多个第一脱敏联系人号码。当然,上述脱敏处理也可以使用其他脱敏处理算法,本技术实施例对脱敏处理所采用的脱敏处理算法不作限定。235.匿名化处理是指以不再能够被识别的方式将数据变换为匿名数据,即根据匿名化处理得到的匿名数据无法恢复出匿名化处理前的数据,可以实现敏感隐私数据的可靠保护。通过对多个第一联系人号码进行匿名化处理,能够消除根据获取的第一脱敏联系人号码来确定第一联系人号码的可能性,使得应用服务器无法根据第一脱敏联系人号码恢复出第一联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。236.作为一个示例,如下表1所示,匿名化处理所采用的匿名化处理算法可用可以包括掩码处理、截断处理、加噪处理、日期偏移处理、置换处理和取余运算中的任一种。237.表1238.[0239][0240]由上述表1可知,上述表1中举例的几种匿名化处理算法中,掩码处理、截断处理和取余运算均能够满足脱敏处理结果不可逆、脱敏处理结果的确定性、满足碰撞概率要求和适用于字符串型数据这4种匿名条件,且算法简单易实现,执行效率较高。加噪处理和置换处理能够满足脱敏结果不可逆、满足碰撞概率要求和适用于字符串型数据等条件,但是加噪处理和置换处理为具有随机性的匿名化的处理方式,不满足脱敏结果的确定性,且算法较为复杂,执行效率相对较低。日期偏移处理能够满足脱敏结果不可逆、脱敏结果的确定性以及满足碰撞概率要求,但是日期偏移处理主要适用于日期性数据,不满足适用于字符串型数据的条件。[0241]作为一个示例,由于掩码处理、截断处理和取余运算满足上述4种匿名条件,且算法简单易实现,执行效率较高,因此匿名化处理所采用的匿名化处理算法可以包括掩码处理、截断处理和取余运算这几种匿名化处理算法。当然,所采用的匿名化处理算法也可以包括满足上述几种匿名化处理条件中的一种或多种的其他匿名化处理算法,本技术实施例对此不作限定。[0242]比如,对多个第一联系人号码进行匿名化处理包括以下方式中的任一种:[0243]1)对于多个第一联系人号码中的任一第一联系人号码,将该第一联系人号码中第一指定位置的字符替换为预设字符。[0244]其中,预设字符为预先设置的字符,可以为除联系人号码中的常用字符之外的特殊字符,如“*”或“#”等。第一指定位置可以为第一联系人号码包括的字符中的前m位或后n位。其中,m和n为正整数,比如为1、2或3等。[0245]比如,若第一联系人号码为13812345678,则可以将该第一联系人号码中的后两位替换为“*”,得到替换后的第一联系人号码:138123456**。[0246]2)将第一联系人号码中第二指定位置的字符进行删除。[0247]其中,第二指定位置可以为第一联系人号码包括的字符中的前m位或后n位。其中,m和n为正整数,比如为1、2或3等。[0248]比如,若第一联系人号码为13812345678,则可以将第一联系人号码中的后两位进行删除,得到替换后的第一联系人号码:138123456。[0249]3)对第一联系人号码进行取余运算。[0250]例如,可以基于预设模对第一联系人号码进行取余运算,即将第一联系人号码除以该预设模,将获得的余数作为第一联系人号码对应的第一脱敏联系人号码。[0251]其中,预设模为预先设置的除数。示例地,预设模可以根据碰撞概率要求进行设置,使得基于预设模进行的取余运算能够满足碰撞概率要求。比如,预设模在4999,999,999~49,999,999范围内。[0252]比如,若第一联系人号码为13812345678,预设模为427424317,则基于该预设模对第一联系人号码进行取余运算得到的余数为:134767534。[0253]需要说明的是,当前国内联系人号码为11位号码,且当前国内11位联系人号码中的前3位网络识别号已开放的有:13x、15x、17x、18x、19x等5个段。因此,基于上述已开发的5个段,理论上存在的联系人号码的数量是5,000,000,000个。[0254]对于这5,000,000,000个联系人号码,采用掩码处理、截断处理和取余运算这3种匿名化处理算法进行匿名化处理的匿名化效果如下表2所示:[0255]表2[0256][0257]由上述表2可知,若采用的匿名化处理算法为掩码处理,可以将每个联系人号码中的后1位、后2位或后3位替换为预设字符,如此可以保证碰撞概率在预设碰撞概率范围1:10~1:1000内。若采用的匿名化处理算法为截断处理,可以将每个联系人号码中的后1位、后2位或后3位进行删除,如此可以保证碰撞概率在预设碰撞概率范围1:10~1:1000内。若采用的匿名化处理算法为取余运算,可以基于预设模对每个每个联系人号码进行取余运算,预设模可以为4999,999,999~49,999,999,如此可以保证碰撞概率在预设碰撞概率范围1:10~1:1000内。[0258]需要说明的是,本技术实施例仅是以匿名化处理算法的具体参数为表2中的取值为例进行说明,而在其他实施例中,所采用的匿名化处理算法还可以为其他匿名化处理算法,匿名化处理算法的具体参数还可以为其他参数,本技术实施例对此不作限定。[0259]第二种实现方式:从存储的通讯录数据中获取多个第一脱敏联系人号码。[0260]也即是,终端可以预先对终端的通讯录中的多个第一联系人号码进行脱敏处理,并将脱敏处理后得到的多个第一脱敏联系人号码存储在通讯录数据中。在接收到通讯录读取指令后,即可直接从存储的通讯录数据中获取多个第一脱敏联系人号码,而无需再对通讯录中的多个第一联系人号码进行匿名化处理。如此,可以减小数据处理量,提高获取多个第一脱敏联系人号码的效率。[0261]步骤304:终端将多个第一脱敏联系人号码发送给应用。[0262]步骤305:应用将多个第一脱敏联系人号码发送给应用服务器。[0263]也即是,终端在接收到应用触发的通讯录读取指令后,可以通过应用将多个第一脱敏联系人号码发送给应用服务器。[0264]在一种可能的实现方式中,应用还可以获取终端对多个第一联系人号码进行脱敏处理所采用的脱敏处理算法,然后向应用服务器发送指示信息,该指示信息用于指示该脱敏处理算法。[0265]如此,可以通过指示信息向应用服务器告知终端采用的脱敏处理算法,以便应用服务器采用相同的脱敏处理算法对在应用服务器中注册的用户标识关联的第二联系人号码进行脱敏处理。[0266]作为一个示例,应用可以调用终端的通讯录接口来获取该脱敏处理算法。其中,该通讯录接口与上述脱敏数据读取接口可以为相同接口,也可以为不同接口,本技术实施例对此不作限定。该讯录接口可以为终端系统提供的接口,终端内置的通讯录模块提供的接口,或者终端的通讯录应用提供的接口等。[0267]作为一种示例,为了节省信令开销,该指示信息可以与向应用服务器发送的多个第一脱敏联系人号码携带在相同的消息中发送给应用服务器。当然,该指示信息也可以和向应用服务器发送的多个第一脱敏联系人号码携带在不同的消息中,本技术实施例对此不作限定。[0268]在一种可能的实现方式中,在接收到应用触发的通讯录读取指令之后,终端还可以先获取应用的数字证书,并对应用的数字证书进行验证。若验证通过,则对该通讯录读取指令进行响应。若未验证通过,则不对该通讯录读取指令进行响应。[0269]其中,应用的数字证书是由终端为其颁发的。也即是,若应用想要读取终端的通讯录,需要先向终端申请数字证书,在获取到终端颁发的数字证书之后,终端才会允许应用读取终端的通讯录。如此,可以提高通讯录中数据的安全性,进一步减小通讯录中联系人号码泄露的风险。[0270]步骤306:应用服务器接收多个第一脱敏联系人号码,从多个第二联系人号码中获取与多个第一脱敏联系人号码中任一第一脱敏联系人号码匹配的第二联系人号码,得到待匹配联系人号码。[0271]其中,多个第二联系人号码是在应用服务器中注册的多个用户标识关联的联系人号码。用户标识是在应用服务器中注册得到,可以为用户账号或用户昵称等。用户标识关联的联系人号码是指用户标识绑定的联系人号码。比如,用户借助终端在应用中进行注册时,通常还会填写用户的联系人号码,这样应用服务器即可将用户注册的用户标识与其填写的联系人号码进行绑定,以建立两者之间的关联关系。[0272]其中,与多个第一脱敏联系人号码中任一第一脱敏联系人号码匹配的第二联系人号码是指经过脱敏处理后得到的第二脱敏联系人号码与任一第一脱敏联系人号码相同的第二联系人号码。待匹配联系人号码可以包括一个或多个。[0273]比如,若某个第一脱敏联系人号码为13812345***,则与该第一脱敏联系人号码匹配的第二联系人号码可以包括:13812345666,13812345678,13812345888等。[0274]作为一个示例,应用服务器可以先从多个第二脱敏联系人号码中获取与多个第一脱敏联系人号码中任一第一脱敏联系人号码相同的第二脱敏联系人号码,然后确定获取的第二脱敏联系人号码对应的第二联系人号码,得到待匹配联系人号码。其中,多个第二脱敏联系人号码是对多个第二联系人号码进行脱敏处理得到。[0275]比如,应用服务器在从多个第二脱敏联系人号码中获取与多个第一脱敏联系人号码中任一第一脱敏联系人号码相同的第二脱敏联系人号码之前,可以先获取在应用服务器中注册的多个用户标识关联的联系人号码,得到多个第二联系人号码,再对多个第二联系人号码进行脱敏处理,得到多个第二脱敏联系人号码。[0276]其中,在应用服务器中注册的多个用户标识关联的联系人号码可以存储在应用服务器中,也可以存储在应用服务器关联的数据库中,也可以存储在其他应用服务器中,本技术实施例对此不作限定。相应地,应用服务器可以从应用服务器存储的数据中获取这多个第二联系人号码,可以从应用服务器关联的数据库中获取这多个第二联系人号码,也可以从其他应用服务器中获取这多个第二联系人号码,本技术实施例对此不作限定。[0277]其中,对这多个第二联系人号码进行脱敏处理采用的脱敏处理算法与终端对通讯录中的多个第一联系人号码进行脱敏处理所采用的匿名化处理算法相同,如此可以在避免联系人号码泄露的同时,保证联系人号码匹配的准确性。[0278]作为一个示例,应用服务器在对多个第二联系人号码进行脱敏处理之前,可以先接收应用发送的指示信息,然后按照该指示信息指示的匿名化处理算法,对多个第二联系人号码进行脱敏处理,得到多个第二脱敏联系人号码。[0279]步骤307:应用服务器向应用发送待匹配联系人号码。[0280]其中,应用服务器向应用发送待匹配联系人号码是为了请求从终端的通讯录中的多个第一联系人号码中确定与待匹配联系人号码相同的第一联系人号码。[0281]步骤308:应用接收待匹配联系人号码,向终端发送联系人匹配指令,该联系人匹配指令携带待匹配联系人号码。[0282]也即是,应用接收到该联系人匹配请求后,可以触发联系人匹配指令。该联系人匹配指令用于指示终端从终端的通讯录中的多个第一联系人号码中确定与待匹配联系人号码相同的第一联系人号码。[0283]步骤309:终端接收该联系人匹配指令,响应于该联系人匹配指令,向应用发送目标联系人号码,目标联系人号码是多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码中的全部或部分。[0284]在向应用发送目标联系人号码之前,终端可以先从多个第一联系人号码中确定与待匹配联系人号码相同的第一联系人号码,然后将确定的第一联系人号码中的全部或部分作为目标联系人号码。[0285]其中,待匹配联系人号码的数量可以为一个或多个。若待匹配联系人号码的数量为多个,终端可以从多个第一联系人号码中确定与多个待匹配联系人号码中任一待匹配联系人号码相同的第一联系人号码,以便基于确定的第一联系人号码确定目标联系人号码。[0286]作为一个示例,终端可以为应用提供联系人查询接口,该联系人查询接口用于查询通讯录中与指定联系人号码相同的联系人号码。[0287]作为一个示例,上述联系人匹配指令可以通过调用终端的联系人查询接口来发送。也即是,应用在接收到该联系人匹配请求后,可以调用终端的联系人查询接口,通过该联系人查询接口来获取目标联系人号码。[0288]其中,该联系人查询接口可以为通讯录对应的接口,可以为终端系统提供的接口,终端内置的通讯录模块提供的接口,或者终端的通讯录应用提供的接口等。也即是,应用可以通过终端系统的联系人查询接口、通讯录模块的联系人查询接口或者通讯录应用的联系人查询接口来触发联系人匹配指令。[0289]其中,目标联系人号码为确定的第一联系人号码中的全部或部分。比如,目标联系人号码为确定的第一联系人号码,或者为用户从确定的第一联系人号码中选择的第一联系人号码。[0290]步骤310:应用将目标联系人号码中的全部或部分发送给应用服务器。[0291]也即是,终端可以通过应用将目标联系人号码上报给应用服务器。[0292]值得注意的是,应用服务器获取到待匹配联系人号码后,可能会穷举所有经过脱敏理后能够得到待匹配联系人号码对应的脱敏联系人号码的所有联系人号码,然后通过应用将穷举的所有联系人号码作为待匹配联系人号码发送给终端,以请求终端查找并上报通讯录中与穷举的联系人号码匹配的联系人号码。[0293]这样,通过穷举的方式,应用服务器可能读取到通讯录中除了与在应用服务器中注册的用户标识关联的联系人号码之外的更多的联系人号码,进而可能读取到通讯录中的所有联系人号码,如此,将导致联系人号码被泄露的风险较大。[0294]本技术实施例中,为了减小联系人号码被泄露的风险,可以采取一些消减措施来避免应用服务器通过穷举的方式读取到通讯录中较多的联系人号码。其中,该消减措施可以包括以下几种实现方式中的一种或多种:[0295]第一种消减措施:控制待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量。[0296]通过控制待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量,可以保证待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的联系人号码的数量不大于预设数量,进而保证待匹配联系人号码不可能包括根据一个脱敏联系人号码穷举的所有联系人号码,从而减小了应用服务器通过请求匹配穷举的联系人号码来读取到通讯录中较多联系人号码的可能,进而减小了联系人号码被泄露的风险。[0297]比如,在接收到该联系人匹配指令后,终端可以先确定联系人匹配指令中包括的经过脱敏处理后能够得到相同脱敏联系人号码的待匹配联系人号码的数量的最大值。若该最大值小于或等于预设值,则对该联系人匹配指令进行响应,以向应用发送目标联系人号码。若该最大值大于预设值,则不对该联系人匹配指令进行响应。[0298]其中,该预设值可以根据经过脱敏处理后能够得到同一脱敏联系人号码的全部联系人号码的数量进行设置。另外,该预设值小于经过脱敏处理后能够得到同一脱敏联系人号码的全部联系人号码的数量。比如,该预设值可以为经过脱敏处理后能够得到同一脱敏联系人号码的全部联系人号码的数量与预设比例之间的乘积,该预设比例大于0且小于1。另外,经过脱敏处理后能够得到同一脱敏联系人号码的全部联系人号码的数量需要根据脱敏处理算法进行确定,不同的脱敏处理算法对应的经过脱敏处理后能够得到同一脱敏联系人号码的全部联系人号码的数量不同。[0299]作为一个示例,上述第一种消减措施可以由联系人查询接口实现。比如,在该联系人查询接口被调用后,该联系人查询接口可以先确定确定经过脱敏处理后能够得到相同脱敏联系人号码的待匹配联系人号码的数量的最大值。若该最大值小于或等于预设值,则获取目标联系人号码,并返回接口调用结果,该接口调用结果包括目标联系人号码。若最大值大于预设值,则返回接口调用失败消息。[0300]另外,若联系人匹配指令是通过调用终端的联系人查询接口发送的,为了进一步减小应用服务器读取到通讯录中较多联系人号码的可能性,还可以控制应用对联系人查询接口的调用次数,以保证应用在一个查询周期内对联系人查询接口的调用次数不大于预设次数,从而避免应用通过频繁调用联系人查询接口来读取到通讯录中较多联系人号码,进而减小了联系人号码被泄露的风险。[0301]比如,在接收到联系人匹配指令后,可以先确定应用在预设时间段内调用该终端的联系人查询接口的调用次数;若调用次数小于预设次数,则对该联系人匹配指令进行响应,以向应用发送目标联系人号码。若调用次数大于或等于预设次数,则不对该联系人匹配指令进行响应。[0302]其中,预设时间段可以预先设置。比如,预设时间段可以为当前时间所处的查询周期。查询周期可以为一天或一个月等,本技术实施例对此不作限定。[0303]第二种消减措施:由用户选择上报的第一联系人号码。[0304]也即是,由用户从与待匹配联系人号码匹配的第一联系人号码中选择想要上报的第一联系人号码,再将用户选择的第一联系人号码通过应用上报给应用服务器。[0305]作为一个示例,由用户选择上报的第一联系人号码的实现方式可以包括以下方式中的一种或多种:[0306]第一种实现方式:终端接收到应用触发的联系人匹配指令后,显示第一用户界面,以便用户基于第一用户界面从与待匹配联系人号码匹配的第一联系人号码中选择向应用发送的目标联系人号码。[0307]终端接收到联系人匹配指令后,可以先显示第一用户界面,第一用户界面显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码的号码标识。若检测到对第一用户界面中的号码标识的第一选择指令,则将第一选择指令选择的号码标识对应的第一联系人号码确定为目标联系人号码,然后向应用发送目标联系人号码。[0308]其中,第一选择指令用于从第一用户界面显示的号码标识中选择部分或全部号码标识。第一选择指令可以通过用户的选择操作触发。该选择操作可以为点击操作、滑动操作、语音操作或手势操作等,本技术实施例对该选择操作不作限定。比如,第一用户界面中的各个号码标识对应设置有选择框,用户可以通过点击各个号码标识对应的选择框,来选择对应的号码标识。[0309]其中,与待匹配联系人号码相同的第一联系人号码的号码标识用于指示对应的第一联系人号码。号码标识可以包括与待匹配联系人号码相同的第一联系人号码、与待匹配联系人号码相同的第一联系人号码对应的联系人姓名、以及与待匹配联系人号码相同的第一联系人号码关联的用户标识中的一种或多种。其中,用户标识可以为用户昵称或用户身份标识号(identity document,id)等。[0310]作为一个示例,第一用户界面显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码,以及各个第一联系人号码对应的联系人姓名。用户可以根据显示的联系人姓名选择想要上报的联系人号码。若检测到对第一用户界面中联系人姓名的第一选择指令,则将第一选择指令选择的联系人姓名对应的第一联系人号码作为目标联系人号码,并向应用发送目标联系人号码。[0311]作为另一个示例,应用服务器可以向应用发送待匹配联系人号码以及待匹配联系人号码关联的用户标识。相应地,第一用户界面还可以显示有多个第一联系人号码中与待匹配联系人号码相同的第一联系人号码对应的联系人姓名,以及各个第一联系人号码关联的用户标识。[0312]请参考图6,图6是本技术实施例提供的一种用户界面601的示意图。如图6所示,用户界面601包括通讯录中与待匹配联系人号码相同的第一联系人号码对应的联系人姓名:张三、李四、王五和赵六,以及分别关联的用户昵称:红尘烟雨、陌上花、莫名的青春和不相忘。另外,各个联系人姓名还对应设置有选择框,用户可以通过点击选择框来选择与选择框对应的联系人姓名和用户昵称。在用户选择联系人姓名和用户昵称之后,终端即可将用户选择的联系人姓名和用户昵称对应的第一联系人号码作为目标联系人号码,并向应用发送目标联系人号码。[0313]作为一个示例,终端可以向应用提供用户界面(user interface,ui)接口,该ui接口用于显示第一用户界面,并根据用户基于第一用户界面选择的第一联系人号码向应用发送目标联系人号码。可选地,该ui接口可以为终端系统提供的接口,终端内置的通讯录模块提供的接口,或者终端的通讯录应用提供的接口等。[0314]作为一个示例,应用在接收到应用服务器发送的待匹配联系人号码后,可以先调用终端的联系人匹配接口,以从多个第一联系人号码中获取与待匹配联系人号码相同的第一联系人号码。然后,再调用终端的ui接口,以获取用户从与待匹配联系人号码相同的第一联系人号码中选择的目标联系人号码。[0315]第二种实现方式:应用接收到终端发送的目标联系人号码后,显示第二用户界面,以便用户基于第二用户界面从目标联系人号码中选择最终向应用服务器上报的联系人号码。[0316]应用接收到终端发送的目标联系人号码后,可以显示第二用户界面,第二用户界面显示有目标联系人号码的号码标识。若检测到对第二用户界面中的号码标识的第二选择指令,则将第二选择指令选择的号码标识对应的联系人号码发送给应用服务器。[0317]其中,目标联系人号码的号码标识用于指示目标联系人号码。目标联系人号码的号码标识可以包括目标联系人号码、目标联系人号码对应的联系人姓名、以及目标联系人号码关联的用户标识中的至少一种。[0318]其中,第二选择指令用于从第二用户界面显示的号码标识中选择部分或全部号码标识。第二选择指令可以通过用户的选择操作触发。该选择操作可以为点击操作、滑动操作、语音操作或手势操作等,本技术实施例对该选择操作不作限定。比如,第二用户界面中的各个号码标识对应设置有选择框,用户可以通过点击各个号码标识对应的选择框,来选择对应的号码标识。[0319]通过由用户选择上报的第一联系人号码,这样,即使应用服务器下发的待匹配联系人号码中包括穷举的联系人号码,但在终端从通讯录中确定与待匹配联系人号码匹配的第一联系人号码之后,还可以由用户进一步从确定的第一联系人号码中进行筛选,再将用户筛选出的第一联系人号码上报给应用服务器,而并不是直接将所有与待匹配联系人号码匹配的第一联系人号码均上报给应用服务器,从而避免了应用服务器能够通过穷举的方式读取到通讯录中的较多联系人号码的问题,进而减小了联系人号码被泄露的风险。另外,还可以使得用户对联系人号码可知可控,带给用户良好的安全体验。[0320]步骤311:应用服务器接收应用发送的目标联系人号码中的全部或部分。[0321]应用服务器接收到应用发送的联系人号码之后,可以根据接收的联系人号码执行一些相关操作。比如,可以确定与接收的联系人号码关联的用户标识,然后根据确定的用户标识执行相关操作,当然也可以执行其他操作,本技术实施例对此不作限定。[0322]步骤312:应用服务器确定与接收的联系人号码关联的用户标识。[0323]作为一个示例,应用服务器确定与接收的联系人号码关联的用户标识的操作可以包括:根据存储的第二联系人号码与用户标识之间的对应关系,确定接收的联系人号码对应的用户标识。其中,接收的联系人号码对应的用户标识即为与接收的联系人号码关联的用户标识。[0324]其中,该对应关系可以存储在应用服务器中,也可以存储在应用服务器关联的数据库中,或者存储在其他应用服务器中,本技术实施例对此不作限定。相应地,应用服务器可以从存储的数据中获取该对应关系,可以从该应用服务器关联的数据库获取该对应关系,也可以从其他应用服务器或者该中获取该对应关系,本技术实施例对此不作限定。[0325]接下来,将以应用服务器将接收的联系人号码关联的用户标识推荐给该终端登录的用户,以引导用户对推荐的用户标识进行关注,或者将推荐的用户标识加为好友为例进行说明。应理解,应用服务器也可以根据接收的联系人号码执行其他操作,本技术实施例对此不作限定。[0326]步骤313:应用服务器向应用发送确定的用户标识。[0327]其中,用户标识可以为用户账号、用户昵称、用户id或用户头像等,本技术实施例对此不作限定。该用户推荐信息用于将确定的用户标识推荐给用户。[0328]步骤314:应用接收该确定的用户标识,在应用界面中显示用户推荐信息,该用户推荐信息包括确定的用户标识以及确定的用户标识关联的第一联系人号码的号码标识。[0329]其中,确定的用户标识关联的第一联系人号码的号码标识用于指示对应用户标识属于哪个联系人,以便用户基于号码标识从对应的用户标识中选择想要添加为好友的用户标识。确定的用户标识关联的第一联系人号码的号码标识可以包括确定的用户标识关联的第一联系人号码、确定的用户标识关联的第一联系人号码对应的联系人姓名、确定的用户标识关联的第一联系人号码对应的联系人头像等中的一种或多种。[0330]作为一个示例,该用户推荐信息包括确定的用户标识,以及确定的用户标识关联的第一联系人号码对应的联系人姓名,用户可以基于联系人姓名判断是否要将其对应的用户标识添加为好友。其中,确定的用户标识可以为用户昵称或用户头像等。[0331]步骤315:用户基于应用显示的用户推荐信息,选择想要添加为好友的用户标识。[0332]用户可以基于应用在应用界面中显示的用户推荐信息,从应用服务器推荐的用户标识中选择想要添加为好友的用户标识。[0333]步骤316:应用若检测到对该用户推荐信息中的用户标识的第三选择指令,则向应用服务器发送用户添加请求,该用户添加请求携带第三选择指令选择的用户标识。[0334]其中,第三选择指令用于从该用户推荐信息中选择用户标识。第三选择指令可以通过用户的选择操作触发。该选择操作可以为点击操作、滑动操作、语音操作或手势操作等,本技术实施例对该选择操作不作限定。[0335]在一种可能的实现方式中,用户推荐信息可以包括多组推荐信息,每组推荐信息包括一个目标联系人号码以及该目标联系人号码关联的用户标识,且每组推荐信息对应设置有添加选项。用户可以通过点击添加选项来选择对应的用户标识。若应用检测到对某个添加选项的选择操作,即可确认检测到对该添加选择对应的用户标识的选择指令。[0336]步骤317:应用服务器接收该用户添加请求,响应于该用户添加请求,建立选择的用户标识与终端登录的用户标识之间的对应关系。[0337]通过建立选择的用户标识与终端登录的用户标识之间的对应关系,可以将选择的用户标识添加至终端登录的用户标识的用户关系链中,从而将选择的用户标识添加为终端登录的用户标识的好友。[0338]请参考图7,图7是本技术实施例提供的一种应用界面701的示意图。如图7所示,该应用界面701为qq应用的好友推荐界面,该应用界面701包括两组推荐信息,每组推荐信息包括一个目标联系人号码对应的联系人姓名以及该目标联系人号码关联的qq头像,且每组推荐信息对应设置有添加选项。比如,用户若想要将“张三”关联的qq账号加为好友,则可以点击“张三”之后的“添加”选项。响应于用户的点击操作,应用即可向应用服务器发送用户添加请求,该用户添加请求携带“张三”关联的用户账号。应用服务器接收到该用户添加请求后,即可建立“张三”关联的用户账号添加与该终端登录的用户标识之间的对应关系,以将“张三”关联的用户账号添加为该终端登录的用户标识的好友。[0339]需要说明的是,本技术实施例中仅是以应用服务器在接收到目标联系人号码中的全部或部分后,向用户推荐用户标识,由用户从推荐的用户标识中进行选择,再建立用户选择的用户标识与终端登录的用户标识之间的对应关系为例进行说明,而在其他实施例中,应用服务器在接收到目标联系人号码中的全部或部分后,还可以直接建立接收的联系人号码关联的用户标识与终端登录的用户标识之间的对应关系,以直接将接收的联系人号码关联的用户标识添加至终端登录的用户标识的用户关系链中。如此,可以提高添加好友的效率,以及带给用户更好的使用体验。[0340]为了便于理解,接下来将结合图8,对本技术实施例提供的读取通讯录的方法进行举例说明。图8是本技术实施例提供的一种读取通讯录的过程的逻辑示意图,如图8所示,读取通讯录的过程可以包括如下步骤:[0341](1)终端对通讯录中张三的第一联系人号码“13812345678”进行脱敏处理。比如,采用掩码处理算法,将“13812345678”的后3位替换为预设字符“*”,得到第一脱敏联系人号码“13812345***”。[0342](2)应用服务器采用相同的脱敏处理算法,对在应用服务器中注册的用户标识关联的多个第二联系人号码进行脱敏处理,得到多个第二脱敏联系人号码。比如,多个第二联系人号码包括:user1关联的13812345888、user2关联的13812345666、以及user3关联的13812345678。[0343](3)终端通过该应用向应用服务器发送通讯录的读取结果,该读取结果包括第一脱敏联系人号码“13812345***”。[0344](4)应用服务器将第一脱敏联系人号码与多个第二脱敏联系人号码进行匹配,并基于匹配的第二脱敏联系人号码对应的第二联系人号码生成匹配列表,将匹配列表发送给应用。该匹配列表可以包括用户昵称和第二联系人号码,比如包括user1-13812345888、user2-13812345666和user3-13812345678。[0345](5)应用根据该匹配列表,调用终端的联系人查询接口,以查询通讯录中与该匹配列表中的联系人号码相同的联系人号码。比如,查询到通讯录中的联系人号码“13812345678”。[0346](6)应用提示用户是否要将user3(即联系人张三)加为好友。比如,在应用界面中显示用户推荐信息,该用户推荐信息用于提示是否将user3加为好友。[0347]应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。[0348]需要说明的是,本技术实施例仅是以终端、应用和应用服务器三者之间进行交互来实现读取通讯录的方法为例进行说明,而在其他实施例中,终端还可以被替换为终端中的通讯录模块或通讯录应用,也即是,由终端中通讯录模块或通讯录应用与应用和应用服务器进行交互来实现读取通讯录的方法。[0349]本技术实施例中,终端接收到通讯录读取请求后,可以先获取对通讯录中的联系人号码进行脱敏处理得到的脱敏联系人号码,并向应用服务器上报脱敏联系人号码。通过上报脱敏联系人号码,可以使得应用服务器无法根据脱敏联系人号码确定脱敏处理前的真实联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。之后,终端再根据应用服务器发送的待匹配联系人号码,上报与在应用服务器中注册的用户标识关联的联系人号码,而不与应用服务器中注册的用户标识关联的联系人号码则不进行上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。[0350]图9是本技术实施例提供的一种实现读取通讯录的装置的结构框图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部。比如,计算机设备可以为图1所示的终端10,或者内置有通讯录模块或安装有通讯录应用的装置。如图9所示,该装置包括:接收模块901,获取模块902,以及发送模块903。[0351]接收模块901,用于执行上述图3实施例中的步骤303中接收通讯录读取指令的动作。[0352]获取模块902,用于执行上述图3实施例中的步骤303中获取多个第一脱敏联系人号码的动作。[0353]发送模块903,用于执行上述图3实施例中的步骤304。[0354]接收模块901,还用于执行上述图3实施例中的步骤309中接收联系人匹配指令的动作。[0355]发送模块903,还用于执行上述图3实施例中的步骤309中向应用发送目标联系人号码的动作。[0356]可选地,获取模块902用于:[0357]对所述终端的通讯录中的多个第一联系人号码进行脱敏处理,得到所述多个第一脱敏联系人号码;[0358]或者,[0359]从存储的通讯录数据中获取所述多个第一脱敏联系人号码。[0360]可选地,脱敏处理包括匿名化处理。[0361]可选地,脱敏单元用于执行以下方式中的任一种:[0362]对于所述多个第一联系人号码中的任一第一联系人号码,将所述第一联系人号码中第一指定位置的字符替换为预设字符;[0363]或者,[0364]将所述第一联系人号码中第二指定位置的字符进行删除;[0365]或者,[0366]对所述第一联系人号码进行取余运算。[0367]可选地,该装置还包括:[0368]第一确定模块,用于确定多个所述待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的所述待匹配联系人号码的数量的最大值;[0369]第一触发模块,用于若所述最大值小于或等于预设值,则触发发送模块903向应用发送目标联系人号码。[0370]可选地,所述联系人匹配指令是通过调用联系人查询接口发送的,所述联系人查询接口用于查询所述通讯录中与指定联系人号码相同的联系人号码;该装置还包括:[0371]第二确定模块,用于确定所述应用在预设时间段内调用所述联系人查询接口的调用次数;[0372]第二触发模块,用于若所述调用次数小于预设次数,则触发发送模块903向应用发送目标联系人号码。[0373]可选地,该装置还包括:[0374]显示模块,用于显示第一用户界面,所述第一用户界面显示有所述多个第一联系人号码中与所述待匹配联系人号码相同的第一联系人号码的号码标识;[0375]第三确定模块,用于若检测到对所述第一用户界面中的号码标识的第一选择指令,则将所述第一选择指令选择的号码标识对应的第一联系人号码确定为所述目标联系人号码。[0376]本技术实施例中,终端在接收到应用的通讯录读取指令后,可以先获取对通讯录中的联系人进行脱敏处理得到的脱敏联系人号码,并向应用发送脱敏联系人号码。通过发送脱敏联系人号码,可以使得应用无法根据脱敏联系人号码确定脱敏处理前的真实联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。之后,终端再根据应用的联系人匹配指令,向应用发送与在应用的服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则不发送,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。[0377]图10是本技术实施例提供的另一种实现读取通讯录的装置的结构框图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部。比如,计算机设备可以为图1所示的终端10,或者运行有应用11的装置。如图10所示,该装置包括:触发模块1001,发送模块1002,以及接收模块1003。[0378]触发模块1001,用于执行上述图3实施例中的步骤302。[0379]发送模块1002,用于执行上述图3实施例中的步骤305。[0380]接收模块1003,用于执行上述图3实施例中的步骤308中接收待匹配联系人号码的动作。[0381]触发模块1001,还用于执行上述图3实施例中的步骤308中触发联系人匹配指令的动作。[0382]发送模块1002,还用于执行上述图3实施例中的步骤310。[0383]可选地,该装置还包括获取模块;[0384]获取模块,用于获取对所述多个第一联系人号码进行脱敏处理所采用的脱敏处理算法;[0385]发送模块1002,还用于向所述服务器发送指示信息,所述指示信息用于指示所述脱敏处理算法。[0386]可选地,发送模块1002包括:[0387]显示单元,用于显示第二用户界面,所述第二用户界面显示有所述目标联系人号码的号码标识;[0388]发送单元,用于若检测到对所述第二用户界面中的号码标识的第二选择指令,则将所述第二选择指令选择的号码标识对应的联系人号码发送给所述服务器。[0389]本技术实施例中,应用通过触发通讯录读取指令,仅能获取并向服务器上报通讯录的脱敏联系人号码,使得服务器无法根据脱敏联系人号码确定脱敏处理前的真实联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。之后,应用可以接收服务器发送的待匹配联系人号码,并触发联系人匹配指令,以获取目标联系人号码,并将目标联系人号码中的部分或全部上报给服务器。由于待匹配联系人号码是在与在应用的服务器中注册的用户标识关联的第二联系人号码中与任一第一脱敏联系人号码匹配的第二联系人号码,目标联系人号码是多个第一联系人号码中与待匹配联系人号码匹配的第一联系人号码中的全部或部分,因此,应用仅能获取并上报在应用的服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则无法获取和上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。[0390]图11是本技术实施例提供的另一种实现读取通讯录的装置的结构框图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部。比如,计算机设备可以为图1所示的服务器20。如图11所示,该装置包括:接收模块1101,确定模块1102,以及发送模块1103。[0391]接收模块1101,用于执行上述图3实施例中的步骤306中接收多个第一脱敏联系人号码的动作。[0392]确定模块1102,用于执行上述图3实施例中的步骤306中从多个第二联系人号码中获取与多个第一脱敏联系人号码中任一第一脱敏联系人号码相同的第二联系人号码,得到待匹配联系人号码的动作。[0393]发送模块1103,用于执行上述图3实施例中的步骤307。[0394]接收模块1101,还用于执行图3实施例中的步骤311。[0395]可选地,该装置还包括脱敏模块;[0396]接收模块1101,还用于接收所述终端发送的指示信息,所述指示信息用于指示用于生成所述多个第一脱敏联系人号码的脱敏处理算法;[0397]脱敏模块,用于按照所述指示信息指示的脱敏处理算法,对所述多个第二联系人号码进行脱敏处理,得到多个第二脱敏联系人号码;[0398]确定模块1102,用于从所述多个第二脱敏联系人号码中获取与所述多个第一脱敏联系人号码中任一第一脱敏联系人号码相同的第二脱敏联系人号码;将获取的第二脱敏联系人号码对应的第二联系人号码确定为所述待匹配联系人号码。[0399]本技术实施例中,服务器可以根据终端上报的脱敏联系人号码,从在服务器中注册的用户标识关联的第二联系人号码中确定待匹配联系人号码,再基于待匹配联系人号码从终端获取与待匹配联系人号码相同的第一联系人号码。如此,使得终端仅需上报与在服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则不进行上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。[0400]图12是本技术实施例提供的另一种实现读取通讯录的装置的结构框图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部。比如,计算机设备可以为图1所示的终端10。如图12所示,该装置包括:第一获取模块1201,发送模块1202,接收模块1203,以及第二获取模块1204。[0401]第一获取模块1201,用于执行上述图3实施例中的步骤303中获取多个第一脱敏联系人号码的步骤。[0402]发送模块1202,用于将多个第一脱敏联系人号码发送给服务器。[0403]接收模块1203,用于执行上述图3实施例中的步骤308。[0404]第二获取模块1204,用于根据待匹配联系人号码获取目标联系人号码。[0405]发送模块1202,还用于执行上述图3实施例中的步骤310。[0406]可选地,第一获取模块1201用于:[0407]对所述终端的通讯录中的多个第一联系人号码进行脱敏处理,得到所述多个第一脱敏联系人号码;[0408]或者,[0409]从存储的通讯录数据中获取所述多个第一脱敏联系人号码。[0410]可选地,脱敏处理包括匿名化处理。[0411]可选地,脱敏单元用于执行以下方式中的任一种:[0412]对于所述多个第一联系人号码中的任一第一联系人号码,将所述第一联系人号码中第一指定位置的字符替换为预设字符;[0413]或者,[0414]将所述第一联系人号码中第二指定位置的字符进行删除;[0415]或者,[0416]对所述第一联系人号码进行取余运算。[0417]可选地,第二获取模块1204包括:[0418]第一确定单元,用于从所述多个第一联系人号码中确定与所述待匹配联系人号码相同的第一联系人号码;[0419]第二确定单元,用于将确定的第一联系人号码中的全部或部分确定为所述目标联系人号码。[0420]可选地,第二确定单元用于:[0421]显示第一用户界面,所述第一用户界面显示有确定的第一联系人号码的号码标识;[0422]若检测到对所述第一用户界面中的号码标识的第一选择指令,则将所述第一选择指令选择的号码标识对应的第一联系人号码确定为所述目标联系人号码。[0423]可选地,发送模块1202包括:[0424]显示单元,用于显示第二用户界面,所述第二用户界面显示有所述目标联系人号码的号码标识;[0425]发送单元,用于若检测到对所述第二用户界面中的号码标识的第二选择指令,则将所述第二选择指令选择的号码标识对应的联系人号码发送给所述服务器。[0426]可选地,该装置还包括:[0427]第一确定模块,用于确定多个所述待匹配联系人号码中经过脱敏处理后能够得到相同脱敏联系人号码的所述待匹配联系人号码的数量的最大值;[0428]第一触发模块,用于若所述最大值小于或等于预设值,则触发获取模块1201根据所述待匹配联系人号码获取目标联系人号码。[0429]可选地,该装置还包括:[0430]检测模块,用于检测应用通过调用联系人查询接口触发的联系人匹配指令,所述联系人匹配指令携带所述待匹配联系人号码,所述联系人查询接口用于查询所述通讯录中与指定联系人号码相同的联系人号码;[0431]第二确定模块,用于确定所述应用在预设时间段内调用所述联系人查询接口的调用次数;[0432]第二触发模块,用于若所述调用次数小于预设次数,则触发获取模块1201根据所述待匹配联系人号码获取目标联系人号码。[0433]可选地,该装置还包括第三获取模块;[0434]第三获取模块,用于获取对所述多个第一联系人号码进行脱敏处理所采用的脱敏处理算法;[0435]发送模块1202,还用于向所述服务器发送指示信息,所述指示信息用于指示所述脱敏处理算法。[0436]本技术实施例中,终端可以可以先获取对通讯录中的联系人进行进行脱敏处理得到的脱敏联系人号码,然后上报脱敏联系人号码。通过上报脱敏联系人号码,可以使得服务器无法根据脱敏联系人号码确定脱敏处理前的联系人号码,从而避免了通讯录中的联系人号码被泄露的风险。之后,终端再根据服务器发送的待匹配联系人号码,上报与在服务器中注册的用户标识关联的联系人号码,而不与服务器中注册的用户标识关联的联系人号码则不进行上报,从而减少了通讯录数据的上报数据量,实现了通讯录数据的较小化开放,在一定程度上减小了联系人号码泄露的风险。[0437]需要说明的是:上述实施例提供的实现读取通讯录的装置在实现读取通讯录的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的实现读取通讯录的装置与读取通讯录的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。[0438]在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))或半导体介质(例如:固态硬盘(solid state disk,ssd))等。[0439]以上所述为本技术提供的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部