掌桥专利:专业的专利平台
掌桥专利
首页

账号共享、登录方法和装置

文献发布时间:2023-06-19 11:49:09


账号共享、登录方法和装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种账号共享、登录方法和装置。

背景技术

随着网络会员服务越来越普遍化,比如电商网站会员、社交网站会员、视频网站会员等等,经常出现亲朋好友间借取会员使用的情况。目前,很多互联网公司允许账号的共享,比如有的视频网站允许会员同时登陆多端。

目前,大多是通过账号所有者告知借用方账号密码的形式实现账号共享,并没有其他成熟的技术方案实现账号共享。

在实现本发明的过程中,本发明的发明人发现现有的账号共享方式存在很多缺陷,比如:

(1)账号安全问题,账号外借存在一系列的安全问题,比如导致账号被更多人共用,甚至有恶意人员进行密码修改、用户信息修改等;

(2)虽然针对账号安全问题,现有技术中存在一定的安全措施,比如首次登陆验证码验证、设备管理等,但这些方式的系统维护成本较大,而且由于需要经常检查账号是否在未知设备登陆等造成用户体验差;

(3)隐私性问题,借用者使用账号密码登陆后就可以看到用户的真实信息,比如年龄、性别、兴趣爱好等;

(4)灵活性问题,用户在账号外借后不能很好地管控各个借用方对账号的使用行为。

发明内容

有鉴于此,本发明提供了一种账号共享、登录方法和装置,通过提供一种新的账号共享及登录方案,能够很好地解决现有账号共享方式所存在的安全性、隐私性、灵活性问题中的至少一个,提高用户体验。

为实现上述目的,根据本发明的第一个方面,提供了一种账号共享方法。

本发明的账号共享方法包括:获取第一用户的账号对应的源密码;将所述源密码转换成共享密码,以供第二用户基于所述共享密码登录第一用户的账号。

可选地,所述将所述源密码转换成共享密码包括:将所述源密码转换成相应的汉明校验码;对所述汉明校验码进行十进制转换,并将转换结果作为所述共享密码。

可选地,在所述对所述汉明校验码进行十进制转换之前,所述方法还包括:获取第一用户设置的共享密码的使用管控信息;根据所述共享密码的使用管控信息确定置错位,然后根据所述置错位对所述汉明校验码进行置错处理。

可选地,所述方法还包括:在获取不到第一用户设置的共享密码的使用管控信息时,根据系统默认设置的共享密码的使用管控信息确定置错位。

可选地,所述共享密码的使用管控信息包括:共享密码的有效期,和/或,共享登录时是否验证手机验证码。

可选地,所述将所述源密码转换成相应的汉明校验码包括:将所述源密码解析成相应的ASCII码,对所述ASCII码进行二进制转换,然后根据汉明校验码编码规则对二进制转换结果进行处理以得到所述相应的汉明校验码。

为实现上述目的,根据本发明的第二个方面,提供了一种账号登录方法。

本发明的账号登录方法包括:响应于第二用户的共享登录请求,从所述共享登录请求中解析出第一用户的账号名和共享密码;将所述共享密码转换成源密码;根据所述第一用户的账号名和所述源密码对所述第二用户进行登录验证。

可选地,所述将所述共享密码转换成源密码包括:对所述共享密码进行二进制转换,然后根据汉明校验码解码规则对二进制转换结果进行解码,再根据解码结果得到源密码。

可选地,在根据汉明校验码解码规则对二进制转换结果进行处理之前,所述方法还包括:根据汉明校验码纠错规则对所述二进制转换结果进行纠错。

可选地,所述方法还包括:根据所述纠错得到的置错位信息确定所述共享密码的使用管控信息,根据所述共享密码的使用管控信息对所述第二用户进行登录验证。

可选地,所述共享密码的使用管控信息包括:共享密码的有效期,和/或,共享登录时是否验证手机验证码。

可选地,所述方法还包括:在所述第二用户通过登录验证后,对所述第二用户的数据访问权限进行控制。

为实现上述目的,根据本发明的第三个方面,提供了一种账号共享装置。

本发明的账号共享装置包括:获取模块,用于获取第一用户的账号对应的源密码;转换模块,用于将所述源密码转换成共享密码,以供第二用户基于所述共享密码登录第一用户的账号。

为实现上述目的,根据本发明的第四个方面,提供了一种账号登录装置。

本发明的账号登录装置包括:解析模块,用于响应于第二用户的共享登录请求,从所述共享登录请求中解析出第一用户的账号名和共享密码;转换模块,用于将所述共享密码转换成源密码;登录验证模块,用于根据所述账号名和所述源密码对所述第二用户进行登录验证。

为实现上述目的,根据本发明的第五个方面,提供了一种电子设备。

本发明的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明的账号共享方法或账号登录方法。

为实现上述目的,根据本发明的第六个方面,提供了一种计算机可读介质。

本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明的账号共享方法或账号登录方法。

上述发明中的一个实施例具有如下优点或有益效果:通过获取第一用户的账号对应的源密码,将所述源密码转换成共享密码,以供第二用户基于所述共享密码登录第一用户的账号这些步骤,实现了一种新的账号共享方法,能够很好地解决现有账号共享方式所存在的安全性问题,提高用户体验。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是本发明实施例可以应用于其中的示例性系统架构图;

图2是根据本发明第一实施例的账号共享方法的主要流程示意图;

图3是根据本发明第二实施例的账号共享方法的主要流程示意图;

图4是根据本发明第三实施例的账号登录方法的主要流程示意图;

图5是根据本发明第四实施例的账号登录方法的主要流程示意图;

图6是根据本发明第五实施例的账号共享装置的主要模块示意图;

图7是根据本发明第六实施例的账号登录装置的主要模块示意图;

图8是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

需要指出的是,在不影响本发明实施的情况下,本发明中的各个实施例以及实施例中的技术特征可以相互组合。

图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可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的购物类网站提供支持的后台管理服务器。例如,后台管理服务器可以对终端设备通过网络发送的账号共享请求或者共享登录请求等进行处理,并将处理结果反馈给终端设备。

需要说明的是,本发明实施例所提供的账号共享、账号登录方法一般由服务器105执行,相应地,账号共享、账号登录装置一般设置于服务器105中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

需要指出的是,图1为本发明提供的账号共享、账号登录方法、以及账号共享、账号登录装置可以应用的一种示例性系统架构。在另一种可选示例中,本发明提供的账号共享、账号登录方法还可以由终端设备执行,相应地,账号共享、账号登录装置设置于终端设备中。在再一种可选示例中,本发明提供的账号共享、账号登录方法还可以由终端设备和服务器共同执行,相应地,账号共享、账号登录装置设置于终端设备和服务器中。

图2是根据本发明第一实施例的账号共享方法的主要流程示意图。如图2所示,本发明实施例的账号共享方法包括:

步骤S201:获取第一用户的账号对应的源密码。

其中,所述源密码为第一用户在普通登录方式下登录其账号时所需输入的密码。

在一个可选实施方式中,在第一用户发起账号共享请求时,通过终端设备输入其所想共享的账号对应的源密码。账号共享装置在接收到账号共享请求后,从账号共享请求中解析出第一用户输入的源密码。比如,第一用户针对其所拥有的账号“zhangsan”发起账号共享请求时,通过手机输入源密码“3456789”,账号共享装置获取第一用户输入的源密码“3456789”。

在另一个可选实施方式中,在第一用户发起账号共享请求时,通过终端设备输入其想共享的账号名。在接收到账号共享请求后,账号共享装置根据账号共享请求中携带的账号名查询缓存或数据库等存储模块,以获取第一用户的账号对应的源密码。比如,第一用户针对其所拥有的账号“zhangsan”发起账号共享请求时,账号共享装置从数据库中查询出账号“zhagnsan”对应的源密码“3456789”。

步骤S202:将所述源密码转换成共享密码,以供第二用户基于所述共享密码登录第一用户的账号。

在该步骤中,可根据预先配置的密码转换规则将源密码转换成共享密码。其中,所述共享密码为第二用户在共享登录渠道下,登录第一用户的账号时所使用的密码。示例性地,所述密码转换规则为汉明校验码编码规则或者其他密码转换规则。

汉明校验码,又可称为海明校验码,基本原理是它的实现原理,是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。

在一个可选实施方式中,所述密码转换规则为汉明校验码编码规则,所述将所述源密码转换成共享密码包括:根据汉明校验码编码规则将所述源密码转换成相应的汉明校验码;对所述汉明校验码进行十进制转换,并将转换结果作为共享密码。

在另一个可选实施方式中,所述密码转换规则为汉明校验码编码规则,所述将所述源密码转换成共享密码包括:根据汉明校验码编码规则将所述源密码转换成相应的汉明校验码,对所述汉明校验码进行置错处理,然后将置错处理后的汉明校验码进行十进制转换,并将十进制转换结果作为共享密码。

进一步,在生成共享密码之后,本发明的实施例还可包括以下步骤:将所述共享密码发送给第一用户进行展示,和/或,将所述共享密码发送给第二用户。例如,在生成共享密码后,可通过第一用户对应的终端设备向第一用户展示所述共享密码,之后第一用户可通过手机短信、语音通话、视频通话等多种形式将共享密码告知第二用户。例如,在生成共享密码后,账号共享装置可直接将该共享密码以手机短信、邮件等方式将共享密码发送给第二用户。

在本发明实施例中,通过获取第一用户的账号对应的源密码,将所述源密码转换成共享密码,以供第二用户基于所述共享密码登录第一用户的账号这些步骤,实现了一种新的账号共享方法。在本发明提供的账号共享方案中,不需要对他人提供真实的密码即源密码,只需要给他人提供一个由源密码生成的共享密码即可,从而保障了账号共享的安全性,进而能够很好地解决现有账号共享方式所存在的安全性问题,提高用户体验。

图3是根据本发明第二实施例的账号共享方法的主要流程示意图。如图3所示,本发明实施例的账号共享方法包括:

步骤S301:获取第一用户的账号对应的源密码。

其中,所述源密码为第一用户在登录其账号时所需输入的密码。

在一个可选实施方式中,在第一用户发起账号共享请求时,通过终端设备输入其所想共享的账号对应的源密码。账号共享装置在接收到账号共享请求后,从账号共享请求中解析出第一用户输入的源密码。比如,第一用户针对其所拥有的账号“zhangsan”发起账号共享请求时,通过手机输入源密码“3456789”,账号共享装置获取第一用户输入的源密码“3456789”。

在另一个可选实施方式中,在第一用户发起账号共享请求时,通过终端设备输入其想共享的账号名。在接收到账号共享请求后,账号共享装置根据账号共享请求中携带的账号名查询缓存或数据库等存储模块,以获取第一用户的账号对应的源密码。比如,第一用户针对其所拥有的账号“zhangsan”发起账号共享请求时,账号共享装置从数据库中查询出账号“zhagnsan”对应的源密码“3456789”。

步骤S302:获取第一用户设置的共享密码的使用管控信息。

在一个可选实施方式中,在第一用户发起账号共享请求时,除了通过终端设备输入其所想共享的账号对应的源密码以外,还通过终端设备设置共享密码的使用管控信息。账号共享装置在接收到账号共享请求后,除了从账号共享请求中解析出源密码之外,还从账号共享请求中解析出第一用户设置的共享密码的使用管控信息。

在另一可选实施方式中,在第一用户发起账号共享请求时,通过终端设备输入其想共享的账号名。在接收到账号共享请求后,账号共享装置除了根据账号共享请求中携带的账号名查询出预先存储的第一用户的账号对应的源密码之外,还查询出第一用户预先设置的共享密码的使用管控信息。

示例性地,所述共享密码的使用管控信息包括共享密码的有效期,和/或,共享登录时是否验证手机验证码等。具体实施时,第一用户可针对不同的第二用户设置统一的共享密码使用管控信息,也可针对不同的第二用户设置不同的共享密码使用管控信息。

进一步,本发明实施例还可包括以下步骤:在获取不到第一用户设置的共享密码的使用管控信息时,获取系统默认设置的共享密码的使用管控信息,以便后续根据系统默认设置的共享密码的使用管控信息确定置错位。

步骤S303:将所述源密码转换成相应的汉明校验码。

示例性地,步骤S303具体包括:将所述源密码解析成相应的ASCI I码,对所述ASCII码进行二进制转换,然后根据汉明校验码编码规则对二进制转换结果进行处理以得到所述相应的汉明校验码。

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,它是最通用的信息交换标准。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。

进一步,在上述示例中,考虑到ASCII码一共有128个,用七位二进制数就可以表示全部的情况,因此在对由源密码解析得到的ASCII码进行二进制转换时,可将其转换成多个七位二进制数,再根据汉明校验码编码规则将多个七位二进制数转换成相应的汉明校验码。此外,在具体实施时,除了将源密码转换成ASCII码之外,还可采用其他转换方式,比如采用自定义的转换规则对源密码进行转换。

进一步,在上述示例中,根据汉明校验码编码规则对二进制转换结果进行处理以得到所述相应的汉明校验码具体包括:

步骤a、确定汉明校验码的位数。

在数据位(或称为“信息位”)的位数已确定的情况下,可通过公式2

步骤b、确定数据位和校验位的分布位置。

在汉明校验码中,校验位分布于2的幂次位上,其他为数据位。并且,数据位按照从高位到低位的顺序依次存放。

步骤c、确定校验码校验的数据位的位置.

步骤d、对校验码校验的数据位的位置进行异或处理,得到校验位的值,进而得到相应的汉明校验码。

步骤S304:根据所述共享密码的使用管控信息确定置错位,然后根据所述置错位对所述汉明校验码进行置错处理。

在一个可选示例中,所述共享密码的使用管控信息包括:共享密码的有效期。在该示例中,可根据共享密码的有效期确定置错位,然后对所述汉明校验码中的相应位置进行置错处理。比如,假设源密码为6位,根据源密码得到6个11位的汉明校验码,假设用户输入的共享密码的有效期为21.09.01(即2021年9月1日),则可将第一个汉明校验码的第2位、第二个汉明校验码的第1位、第三个汉明校验码的第0位、第四个汉明校验码的第9位、第五个汉明校验码的第0位、第六个汉明校验码的第1位确定为置错位。其中,汉明校验码的第0位为置错位可理解为该汉明校验码中无错误位置。

在另一个可选示例中,所述共享密码的使用管控信息包括:共享密码的有效期、以及共享登录时是否验证手机验证码。在该示例中,可根据共享密码的有效期、以及共享登录时是否验证手机验证码确定置错位。比如,假设源密码为7位,根据源密码得到7个11位的汉明校验码,则可根据共享密码的有效期确定前6个汉明校验码的置错位,根据共享登录时是否验证手机验证码确定第7个汉明校验码的置错位,进一步,共享登录时需要验证手机验证码可用1表示,共享登录时不需要验证手机验证码可用0表示。举例来说,假设用户输入的共享密码的有效期为21.09.01(即2021年9月1日)、且共享登录时需要验证手机验证码,则可将第一个汉明校验码的第2位、第二个汉明校验码的第1位、第三个汉明校验码的第0位、第四个汉明校验码的第9位、第五个汉明校验码的第0位、第六个汉明校验码的第1位确定为置错位、第七个汉明校验码的第1位确定为置错位。其中,汉明校验码的第0位为置错位可理解为汉明校验码中无错误位置。

步骤S305:对置错处理后的汉明校验码进行十进制转换,并将转换结果作为共享密码,以供第二用户基于所述共享密码登录第一用户的账号。

在本发明实施例中,通过以上步骤实现了一种基于汉明校验码的账号共享方案,可用于不同用户间实现账号共享。在本方案中,无需对他人提供真实的密码即源密码,只需提供给他人一个由源密码生成的共享密码即可,保障了账号的安全性;而且,本方案主要是基于汉明校验码的自动纠错性实现的,不需要平台维护庞大的用户共享数据,只需设置一定的编码、解码规则即可,投入成本较小;进一步,本方案通过上述步骤可以灵活配置共享密码的使用管控信息,并且可以对不同用户生成多个共享密码,每个共享密码都有各自的使用管控信息,从而使得账号共享方案更加灵活。进而,通过该方案很好地解决了现有账号共享方案所存在的安全性、灵活性等问题。

为了进一步理解图3所示实施例,以下以源密码为“abc123”为例,对基于该源密码生成共享密码的过程进行示例性说明。具体来说,该示例主要包括以下步骤:

步骤(1):将源密码转换成汉明校验码。

在该步骤中,首先将源密码abc123解析成相应的ASCII码,即可得到“97-98-99-49-50-51”。其中,源密码中的字符a对应的ASCII码为97,源密码中的字符b对应的ASCII码为98,源密码中的字符c对应的ASCII码为99,源密码中的字符1对应的ASCII码为49,源密码中的字符2对应的ASCII码为50,源密码中的字符3对应的ASCII码为51。

接着,将ASCII码“97-98-99-49-50-51”转换为二进制数据。考虑到在本示例中采用的ASCII码的范围是0-127,其对应的二进制数是0000000-1111111,即7位就可以表示全部的ASCII码,因此在对ASCII码进行二进制转换时,采用7位二进制数表示即可,进而得到二进制数据“1100001-1100010-1100011-110001-110010-110011”。然后,将得到的二进制数据转换为汉明校验码。其中,将二进制数据“1100001-1100010-1100011-110001-110010-110011”转换为汉明校验码的核心过程如下:

首先,在数据位(或称为“信息位”)的位数为7的情况下,通过公式2

其次、确定数据位和校验位的分布位置,如表1所示。在汉明校验码中,校验位分布于2的幂次位上,其他为数据位。并且,数据位按照从高位到低位的顺序依次存放。

表1

接下来,确定校验码校验的数据位的位置。

表2

如表2所示,确定的校验码校验的数据位的位置如下:校验位r1校验的数据位位置为3,5,7,9,11;校验位r2校验的数据位位置为3,6,7,10,11;校验位r3校验的数据位位置为5,6,7,11;校验位r4校验的数据位位置为9,10,11。

最后,对校验码校验的数据位的位置进行异或处理,得到校验位的值,进而得到相应的汉明校验码。

其中,异或处理是一种数学运算规则,如果a和b两个值不同,则异或结果为1;如果a和b两个值相同,则异或结果为0。在该步骤中,通过对校验码校验的数据位的位置进行异或处理,得到校验位的值,进而得到相应的汉明校验码(如表3所示)。比如对校验位r1校验的数据a中的数据位位置3,5,7,9,11的值进行异或运算即1^0^0^0^1=0,异或结果为0。

表3

步骤(2):根据用户输入的共享密码的有效期对步骤(1)中生成的汉明校验码进行置错处理,对置错处理后的汉明校验码进行十进制转换,并将转换结果作为共享密码。

例如,假设用户输入的共享密码的有效期为21.09.01(即2021年9月1日),则可将步骤(1)中得到的第一个汉明校验码的第2位、第二个汉明校验码的第1位、第三个汉明校验码的第0位、第四个汉明校验码的第9位、第五个汉明校验码的第0位、第六个汉明校验码的第1位确定为置错位(如表4所示),并根据置错位信息对汉明校验码进行置错处理。其中,汉明校验码的第0位为置错位可理解为该汉明校验码中无错误位置,即不对该汉明校验码进行置错处理。之后,对置错处理后的汉明校验码进行十进制转换即可得到共享密码387-1091-1859-258-710-454。

表4

在上述示例中,主要利用汉明校验码自动纠错的特性生成共享密码。一般一个真实的密码会有多位,比如银行支付密码一般是6位数字,每一个数字都可以映射出一个二进制的汉明校验码,我们对每个汉明校验码都改错一位,则可以形成一个新的密码,设置的错误位置不同,则形成的新密码不同,即一个6位的源密码可以对应出多个共享密码。由于源密码和共享密码存在对应关系,系统可以根据一定的转换规则在两者之间进行相互转换,因此无需将共享密码存储到存储介质中,也无需对共享密码进行数据维护,降低了账号共享的投入成本。此外,在利用汉明校验码自动纠错的特性生成共享密码时,还通过在共享密码中隐含一些业务含义,比如共享密码的有效期、共享登录是否需要校验手机验证码等,提高了账号共享的灵活性。

图4是根据本发明第三实施例的账号登录方法的主要流程示意图。如图4所示,本发明实施例的账号登录方法包括:

步骤S401:响应于第二用户的共享登录请求,从所述共享登录请求中解析出第一用户的账号名和共享密码。

示例性地,第二用户可在终端设备上输入第一用户的账号、以及共享密码后发出共享登录请求。响应于第二用户的共享登录请求,账号登录装置从该共享登录请求中解析出第一用户的账号名和共享密码。

进一步,在步骤S401之前,本发明实施例的方法还可包括以下步骤:判断第二用户的登录请求是共享登录请求还是普通登录请求。若是共享登录请求,则执行步骤S401;若是普通登录请求,则按普通登录方式进行登录验证。

其中,普通登录方式是指用户输入账号和源密码的方式进行登录,共享登录方式是指用户输入账号和共享密码的方式进行登录。具体实施时,可针对普通登录方式和共享登录方式开发不同的登录页面,以便对用户的登录方式进行区分。

步骤S402:将所述共享密码转换成源密码。

在一个可选示例中,共享密码是通过将源密码转换成汉明校验码,再对汉明校验码进行由二进制到十进制的转换得到的。在该可选示例中,步骤S402具体包括:对所述共享密码进行二进制转换,根据汉明校验码解码规则对二进制转换结果进行解码,再根据解码结果得到源密码。

在另一个可选示例中,共享密码是通过将源密码转换成汉明校验码,再对汉明校验码进行置错,然后对置错后的汉明校验码进行十进制转换得到的。在该可选示例中,步骤S402具体包括:对所述共享密码进行二进制转换,然后根据汉明校验码纠错规则对所述二进制转换结果进行纠错,再根据汉明校验码解码规则对纠错后的二进制转换结果进行解码,然后根据解码结果得到源密码。

步骤S403:根据所述第一用户的账号名和所述源密码对所述第二用户进行登录验证。

示例性地,在该步骤中,可将步骤S402得到的源密码与预先存储的第一用户的账号对应的源密码进行比较。若两者一致,则第二用户通过此次登录验证。接下来,可通过其他登录验证逻辑对第二用户继续进行验证,也可直接向第二用户返回登录成功的提示信息;若两者不一致,可直接向第二用户返回登录失败的提示信息。

在本发明实施例中,通过以上步骤实现了一种新的账号登录方式。在本发明提供的账号登录方案中,由于不需要对他人提供真实的密码即源密码,只需要给他人提供一个由源密码生成的共享密码进行登录,从而保障了账号共享的安全性,进而能够很好地解决现有账号共享方式所存在的安全性问题,提高用户体验。

图5是根据本发明第四实施例的账号登录方法的主要流程示意图。如图5所示,本发明实施例的账号登录方法包括:

步骤S501:响应于第二用户的共享登录请求,从所述共享登录请求中解析出第一用户的账号名和共享密码。

示例性地,第二用户可在终端设备上输入第一用户的账号、以及共享密码后发出共享登录请求。响应于第二用户的共享登录请求,账号登录装置从该共享登录请求中解析出第一用户的账号名和共享密码。

进一步,在步骤S501之前,本发明实施例的方法还可包括以下步骤:判断第二用户的登录请求是共享登录请求还是普通登录请求。若是共享登录请求,则执行步骤S501;若是普通登录请求,则按普通登录方式进行登录验证。

其中,普通登录方式是指用户输入账号和源密码的方式进行登录,共享登录方式是指用户输入账号和共享密码的方式进行登录。具体实施时,可针对普通登录方式和共享登录方式开发不同的登录页面,以便对用户的登录方式进行区分。

步骤S502:对所述共享密码进行二进制转换。

在本发明实施例中,共享密码是通过将源密码转换成汉明校验码,再对汉明校验码进行置错,然后对置错后的汉明校验码进行十进制转换得到的。因此,在将共享密码转换成源密码时,首先需要对共享密码进行十进制到二进制的转换,以得到二进制转换结果,即置错后的汉明校验码。例如,假设通过步骤S501解析出的共享密码为387-1091-1859-258-710-454,由源密码转换成的汉明校验码为11位,则将该共享密码转换为用六个11位二进制数表示的数据。

步骤S503:根据汉明校验码纠错规则对所述二进制转换结果进行纠错,并根据置错位信息确定所述共享密码的使用管控信息。

汉明校验码,又称海明校验码,基本原理是它的实现原理,是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。

在该步骤中,根据汉明校验码纠错规则对步骤S502得到的置错后的汉明校验码进行纠错,可以得到汉明校验码以及置错位信息。进一步,根据置错位信息可确定所述共享密码的使用管控信息。示例性地,所述共享密码的使用管控信息包括:共享密码的有效期,和/或,共享登录是否验证手机验证码。

例如,对于共享密码387-1091-1859-258-710-454来说,通过步骤S502将其转换成六个11位的二进制数,即六个置错后的汉明校验码,再通过步骤S503计算出相应的错误位置(即置错位),根据置错位可按位置恢复数据从而得到六个汉明校验码。比如,对于共享密码中的“387”、“1091”、“258”来说,通过步骤S502得到的二进制数据为“00110000011”、“10001000011”、“00100000010”,其汉明校验码纠错的核心计算数据如表5所示。

表5

进而,对于由共享密码387-1091-1859-258-710-454进行二进制转换得到的六个11位二进制数,可通过表5所示纠错过程确定各个二进制数中的置错位分别为第2位、第1位、第0位(即该二进制数中无错误位)、第9位、第0位、第1位。接下来,对这些置错位进行恢复,可得到纠错后的二进制转换结果。另外,若预先定义了置错位用于表示共享密码的有效期,则根据纠错得出的置错位信息可确定该共享密码的有效期为21年09月01日。

步骤S504:根据汉明校验码解码规则对纠错后的二进制转换结果进行解码,再根据解码结果得到源密码。

在本发明实施例中,共享密码是先通过将源密码转换成ASCII码,再对ASCII码转换成二进制数据,然后将二进制数据转换成置错后的汉明校验码,再对置错后的汉明校验码进行十进制转换得到的。因此,在步骤S504中,先根据汉明校验码解码规则对纠错后的二进制转换结果进行解码,再进行二进制到十进制的转换,从而得到相应的ASCII码,最后通过ASCII码解析规则得到源密码。例如,假设共享密码为387-1091-1859-258-710-454,通过上述步骤可得到源密码为abc123。

步骤S505:根据所述第一用户的账号名和所述源密码对所述第二用户进行登录验证。

示例性地,在该步骤中,可将步骤S504得到的源密码与预先存储的第一用户的账号对应的源密码进行比较。若两者一致,则可接下来执行步骤S506;若两者不一致,则可直接向第二用户返回登录失败的提示信息。

步骤S506:根据所述共享密码的使用管控信息对所述第二用户进行登录验证。

在一个可选示例中,所述共享密码的使用管控信息具体为共享密码的有效期。在该示例中,可根据共享密码的有效期判断该共享密码是否过期,若该共享密码已过期,则可直接向第二用户返回登录失败的提示信息;若该共享密码未过期,则可直接向第二用户返回登录成功的提示信息。

进一步,本发明实施例的方法还可包括以下步骤:在所述第二用户通过登录验证后,对所述第二用户的数据访问权限进行控制。比如,在第二用户通过登录验证后,可限制用户查询或修改账号密码、账号绑定的手机号等相关信息。

在本发明实施例中,通过以上步骤实现了一种新的共享登录方案。通过该方案可以很好的解决现有账号共享方案所存在的安全性、隐私性、灵活性问题,并且此方案是基于汉明校验码的自动纠错性处理的,不需要平台维护庞大的用户共享数据,只要设定一定的解码规则即可,投入成本较小。

具体来说,本发明实施例提供的技术方案与现有技术相比具有以下优点:(1)不需要对他人提供真实的密码,只需要给他人提供一个由源密码生成的共享密码即可,提高了账号共享的安全性;(2)共享密码的生成只需要配置好规则即可,无需服务方进行数据的维护,降低了投入成本;(3)通过设置不同的登陆渠道(普通登陆渠道、共享登陆渠道),根据登录渠道进行权限的划分,如共享登陆的渠道则不允许浏览个人信息、爱好兴趣等,保障了拥有账号的用户的隐私性;

(4)能够对多个用户生成多个共享密码,每个共享密码都可设置各自的有限期,使得账号共享更加灵活。

图6是根据本发明第五实施例的账号共享装置的主要模块示意图。如图6所示,本发明实施例的账号共享装置600包括:获取模块601、转换模块602。

获取模块601,用于获取第一用户的账号对应的源密码。

其中,所述源密码为第一用户在普通登录方式下登录其账号时所需输入的密码。

在一个可选实施方式中,在第一用户发起账号共享请求时,通过终端设备输入其所想共享的账号对应的源密码。在接收到账号共享请求后,获取模块601从账号共享请求中解析出第一用户输入的源密码。比如,第一用户针对其所拥有的账号“zhangsan”发起账号共享请求时,通过手机输入源密码“3456789”,账号共享装置获取第一用户输入的源密码“3456789”。

在另一个可选实施方式中,在第一用户发起账号共享请求时,通过终端设备输入其想共享的账号名。在接收到账号共享请求后,获取模块601根据账号共享请求中携带的账号名查询缓存或数据库等存储模块,以获取第一用户的账号对应的源密码。比如,第一用户针对其所拥有的账号“zhangsan”发起账号共享请求时,账号共享装置从数据库中查询出账号“zhagnsan”对应的源密码“3456789”。

转换模块602,用于将所述源密码转换成共享密码,以供第二用户基于所述共享密码登录第一用户的账号。

示例性地,转换模块602可根据预先配置的密码转换规则将源密码转换成共享密码。其中,所述共享密码为第二用户在共享登录渠道下,登录第一用户的账号时所使用的密码。示例性地,所述密码转换规则为汉明校验码编码规则或者其他密码转换规则。

汉明校验码,又可称为海明校验码,基本原理是它的实现原理,是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。

在一个可选实施方式中,所述密码转换规则为汉明校验码编码规则,转换模块602将所述源密码转换成共享密码包括:根据汉明校验码编码规则将所述源密码转换成相应的汉明校验码;对所述汉明校验码进行十进制转换,并将转换结果作为共享密码。

在另一个可选实施方式中,所述密码转换规则为汉明校验码编码规则,转换模块602将所述源密码转换成共享密码包括:根据汉明校验码编码规则将所述源密码转换成相应的汉明校验码,对所述汉明校验码进行置错处理,然后将置错处理后的汉明校验码进行十进制转换,并将十进制转换结果作为共享密码。

进一步,本发明的实施例的装置还可包括发送模块。所述发送模块,用于将所述共享密码发送给第一用户进行展示,和/或,将所述共享密码发送给第二用户。例如,在生成共享密码后,发送模块可将共享密码发送至第一用户对应的终端设备,并通过该终端设备向第一用户展示所述共享密码,之后第一用户可通过手机短信、语音通话、视频通话等多种形式将共享密码告知第二用户。例如,在生成共享密码后,发送模块可将该共享密码以手机短信、邮件等方式将共享密码发送给第二用户。

在本发明实施例中,通过获取模块获取第一用户的账号对应的源密码,通过转换模块将所述源密码转换成共享密码,以供第二用户基于所述共享密码登录第一用户的账号,实现了一种新的账号共享方法。在本发明提供的账号共享方案中,不需要对他人提供真实的密码即源密码,只需要给他人提供一个由源密码生成的共享密码即可,从而保障了账号共享的安全性,进而能够很好地解决现有账号共享方式所存在的安全性问题,提高了用户体验。

图7是根据本发明第六实施例的账号登录装置的主要模块示意图。如图7所示,本发明实施例的账号登录装置700包括:解析模块701、转换模块702、登录验证模块703。

解析模块701,用于响应于第二用户的共享登录请求,从所述共享登录请求中解析出第一用户的账号名和共享密码。

示例性地,第二用户可在终端设备上输入第一用户的账号、以及共享密码后发出共享登录请求。响应于第二用户的共享登录请求,解析模块701从该共享登录请求中解析出第一用户的账号名和共享密码。

进一步,本发明实施例的装置还可包括判断模块,所述判断模块用于判断第二用户的登录请求是共享登录请求还是普通登录请求。若是共享登录请求,则通过解析模块对共享登录请求进行响应;若是普通登录请求,则按普通登录方式进行登录验证。

其中,普通登录方式是指用户输入账号和源密码的方式进行登录,共享登录方式是指用户输入账号和共享密码的方式进行登录。具体实施时,可针对普通登录方式和共享登录方式开发不同的登录页面,以便对用户的登录方式进行区分。

转换模块702,用于将所述共享密码转换成源密码。

在一个可选示例中,共享密码是通过将源密码转换成汉明校验码,再对汉明校验码进行由二进制到十进制的转换得到的。在该可选示例中,转换模块702将所述共享密码转换成源密码具体包括:对所述共享密码进行二进制转换,根据汉明校验码解码规则对二进制转换结果进行解码,再根据解码结果得到源密码。

在另一个可选示例中,共享密码是通过将源密码转换成汉明校验码,再对汉明校验码进行置错,然后对置错后的汉明校验码进行十进制转换得到的。在该可选示例中,步骤S402具体包括:对所述共享密码进行二进制转换,然后根据汉明校验码纠错规则对所述二进制转换结果进行纠错,再根据汉明校验码解码规则对纠错后的二进制转换结果进行解码,然后根据解码结果得到源密码。

登录验证模块703,用于根据所述第一用户的账号名和所述源密码对所述第二用户进行登录验证。

示例性地,在该步骤中,可将转换模块702得到的源密码与预先存储的第一用户的账号对应的源密码进行比较。若两者一致,则第二用户通过此次登录验证。接下来,可通过其他登录验证逻辑对第二用户继续进行验证,也可直接向第二用户返回登录成功的提示信息;若两者不一致,可直接向第二用户返回登录失败的提示信息。

在本发明实施例中,通过以上装置实现了一种新的账号登录方式。在本发明提供的账号登录方案中,由于不需要对他人提供真实的密码即源密码,只需要给他人提供一个由源密码生成的共享密码进行登录,从而保障了账号共享的安全性,进而能够很好地解决现有账号共享方式所存在的安全性问题,提高用户体验。

下面参考图8,其示出了适于用来实现本发明实施例的电子设备的计算机系统800的结构示意图。图8示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。

以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CP U)801执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块和转换模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“获取第一用户的账号对应的源密码的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下账号共享流程:获取第一用户的账号对应的源密码;将所述源密码转换成共享密码,以供第二用户基于所述共享密码登录第一用户的账号。或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下账号登录流程:响应于第二用户的共享登录请求,从所述共享登录请求中解析出第一用户的账号名和共享密码;将所述共享密码转换成源密码;根据所述第一用户的账号名和所述源密码对所述第二用户进行登录验证。

根据本发明实施例的技术方案,通过提供一种新的账号共享及登录方案,能够很好地解决现有账号共享方式所存在的安全性、隐私性、灵活性问题中的至少一个,提高用户体验。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

相关技术
  • 账号共享、登录方法和装置
  • 账号授权方法、账号登录方法、账号授权装置及客户端
技术分类

06120113066564