密码生成方法和装置与流程

文档序号:18133674发布日期:2019-07-10 10:27阅读:182来源:国知局
密码生成方法和装置与流程
本发明涉及计算机
技术领域
,尤其涉及一种密码生成方法和装置。
背景技术
:随着互联网技术的发展,密码广泛应用于网站、邮箱、社交账号、以及移动应用软件注册或登录等场景中。在现有技术中,用户在进行账号注册时,往往是由自己设置密码。在实现本发明过程中,发明人发现现有技术中至少存在如下问题:如果用户设置的密码过于简单,则导致账号的安全性大大降低;如果用户设置的密码过于复杂和无规律性,则导致用户很难对密码进行有效记忆。由于密码难于记忆,也增大了用户在多个账户中重复使用同一密码的概率,不利于用户账号安全保护。技术实现要素:有鉴于此,本发明提供一种密码生成方法和装置,能够兼顾密码的安全性和易用性,既能提高账号的安全性,又方便用户对密码进行有效记忆。为实现上述目的,根据本发明的一个方面,提供了一种密码生成方法。本发明的密码生成方法包括:接收用户输入的密钥和密码原码;将所述密钥填入预先配置的矩阵模板,以构建加密矩阵;根据所述加密矩阵对所述密码原码进行加密,以得到加密密码。可选地,所述矩阵模板包括:数字、字符、以及多个待填充位置。可选地,所述矩阵模板还满足:所述矩阵模板中的待填充位置个数为26个;和/或,所述矩阵模板的每行每列都包括所述数字、且每行每列的数字个数均不超过第一阈值;和/或,所述矩阵模板的每行每列都包括所述字符、且每行每列的字符个数均不超过第二阈值。可选地,所述将所述密钥填入预先配置的矩阵模板,以构建加密矩阵的步骤包括:从所述密钥中提取所有的英文字母,并将所有的英文字母划分成第一部分英文字母和第二部分英文字母;将所述第一部分英文字母填入一个矩阵模板,以得到第一加密矩阵;将所述第二部分英文字母填入另一矩阵模板,以得到第二加密矩阵。可选地,所述将所述第一部分英文字母填入一个矩阵模板,以得到第一加密矩阵的步骤包括:将所述第一部分英文字母填入所述矩阵模板的待填充位置;若所述矩阵模板中还有剩余的待填充位置,则再将英文字母表中去除所述第一部分英文字母之后的其他字母填入所述剩余的待填充位置。可选地,所述将所述第一部分英文字母填入所述矩阵模板的待填充位置的步骤包括:按照相邻两行待填充位置的英文字母大小写不同的填入原则,将所述第一部分英文字母依次填入所述矩阵模板的待填充位置。可选地,所述根据所述加密矩阵对所述密码原码进行加密,以得到加密密码的步骤包括:从所述密码原码中提取所有的英文字母,并将每两个英文字母分为一组;根据第一加密矩阵和第二加密矩阵计算每组第一个字母的加密结果、以及每组第二个字母的加密结果;将所有英文字母的加密结果组合成加密密码。可选地,所述根据第一加密矩阵和第二加密矩阵计算每组第一个字母的加密结果、以及每组第二个字母的加密结果的步骤包括:查找每组第一个字母在第一加密矩阵的行序号p1、列序号q1,以及每组第二个字母在第二加密矩阵的行序号p2、列序号q2;将第一加密矩阵中行序号为p1、列序号为q2的元素取出,作为每组第一个字母的加密结果;将第二加密矩阵中行序号为p2、列序号为q1的元素取出,作为每组第二个字母的加密结果。可选地,所述方法还包括:在执行所述将所述密钥填入预先配置的矩阵模板,以构建加密矩阵的步骤之前,在所述密钥包括汉字的情况下,将所述汉字转换为与其拼音对应的英文字母。为实现上述目的,根据本发明的另一方面,提供了一种密码生成装置。本发明的密码生成装置包括:接收模块,用于接收用户输入的密钥和密码原码;构建模块,用于将所述密钥填入预先配置的矩阵模板,以构建加密矩阵;加密模块,用于根据所述加密矩阵对所述密码原码进行加密,以得到加密密码。可选地,所述矩阵模板包括:数字、字符、以及多个待填充位置。可选地,所述矩阵模板还满足:所述矩阵模板中的待填充位置个数为26个;和/或,所述矩阵模板的每行每列都包括所述数字、且每行每列的数字个数均不超过第一阈值;和/或,所述矩阵模板的每行每列都包括所述字符、且每行每列的字符个数均不超过第二阈值。可选地,所述构建模块将所述密钥填入预先配置的矩阵模板,以构建加密矩阵包括:所述构建模块从所述密钥中提取所有的英文字母,并将所有的英文字母划分成第一部分英文字母和第二部分英文字母;所述构建模块将所述第一部分英文字母填入一个矩阵模板,以得到第一加密矩阵;所述构建模块将所述第二部分英文字母填入另一矩阵模板,以得到第二加密矩阵。可选地,所述构建模块将所述第一部分英文字母填入一个矩阵模板,以得到第一加密矩阵包括:所述构建模块将所述第一部分英文字母填入所述矩阵模板的待填充位置;若所述矩阵模板中还有剩余的待填充位置,则所述构建模块再将英文字母表中去除所述第一部分英文字母之后的其他字母填入所述剩余的待填充位置。可选地,所述构建模块将所述第一部分英文字母填入所述矩阵模板的待填充位置包括:所述构建模块按照相邻两行待填充位置的英文字母大小写不同的填入原则,将所述第一部分英文字母依次填入所述矩阵模板的待填充位置。可选地,所述加密模块根据所述加密矩阵对所述密码原码进行加密,以得到加密密码包括:所述加密模块从所述密码原码中提取所有的英文字母,并将每两个英文字母分为一组;所述加密模块根据第一加密矩阵和第二加密矩阵计算每组第一个字母的加密结果、以及每组第二个字母的加密结果;所述加密模块将所有英文字母的加密结果组合成加密密码。可选地,所述加密模块根据第一加密矩阵和第二加密矩阵计算每组第一个字母的加密结果、以及每组第二个字母的加密结果包括:所述加密模块查找每组第一个字母在第一加密矩阵的行序号p1、列序号q1,以及每组第二个字母在第二加密矩阵的行序号p2、列序号q2;所述加密模块将第一加密矩阵中行序号为p1、列序号为q2的元素取出,作为每组第一个字母的加密结果;所述加密模块将第二加密矩阵中行序号为p2、列序号为q1的元素取出,作为每组第二个字母的加密结果。可选地,所述装置还包括:转换模块,用于在所述密钥包括汉字的情况下,将所述汉字转换为与其拼音对应的英文字母,再调用所述构建模块执行所述将所述密钥填入预先配置的矩阵模板的操作。为实现上述目的,根据本发明的再一个方面,提供了一种电子设备。本发明的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明的密码生成方法。为实现上述目的,根据本发明的又一个方面,提供了一种计算机可读介质。本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明的密码生成方法。上述发明中的一个实施例具有如下优点或有益效果:通过接收用户输入的密钥和密码原码,将所述密钥填入预先配置的矩阵模板以构建加密矩阵,根据所述加密矩阵对所述密码原码进行加密以得到加密密码这些步骤,能够提高密码的安全性。另外,由于用户只需记忆简单的密钥和密码原码,无需记忆复杂的加密密码,提高了密码的易用性,降低了用户在多个账号中使用同一密码的概率,有利于用户账号安全保护。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本发明,不构成对本发明的不当限定。其中:图1是根据本发明一个实施例的密码生成方法的主要步骤示意图;图2是根据本发明另一实施例的密码生成方法的主要步骤示意图;图3是根据本发明一个实施例的密码生成装置的主要模块示意图;图4是根据本发明另一实施例的密码生成装置的主要模块示意图;图5是本发明实施例可以应用于其中的示例性系统架构图;图6是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。具体实施方式以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以相互组合。图1是根据本发明一个实施例的密码生成方法的主要步骤示意图。如图1所示,本发明实施例的密码生成方法包括:步骤s101、接收用户输入的密钥和密码原码。其中,所述密钥和所述密码原码可以是数字、英文字母、汉字或它们中任意几者的组合等。例如,所述密钥为:beijing,所述密码原码为:tianjin。步骤s102、将所述密钥填入预先配置的矩阵模板,以构建加密矩阵。其中,所述矩阵模板可理解为一部分位置已被填充、另一部分位置未被填充的矩阵,其可包括:数字、字符、以及多个待填充位置。另外,为了提高最终生成的密码的复杂度,所述矩阵模板还可满足:待填充位置的个数为26个;和/或,每行、每列都包括所述数字,且每行、每列的数字个数均不超过第一阈值(比如2);和/或,所述矩阵模板的每行、每列都包括所述字符,且每行、每列的字符个数均不超过第二阈值(比如3)。步骤s103、根据所述加密矩阵对所述密码原码进行加密,以得到加密密码。在本发明实施例中,通过接收用户输入的密钥和密码原码,将所述密钥填入预先配置的矩阵模板以构建加密矩阵,根据所述加密矩阵对所述密码原码进行加密以得到加密密码这些步骤,能够提高密码的安全性。另外,由于用户只需记忆简单的密钥和密码原码,无需记忆复杂的加密密码,提高了密码的易用性,进而降低了用户在多个账号中使用同一密码的概率,有利于用户账号安全保护。图2是根据本发明另一实施例的密码生成方法的主要步骤示意图。如图2所示,本发明实施例的密码生成方法包括:步骤s201、接收用户输入的密钥和密码原码。其中,所述密钥和所述密码原码可以是数字、英文字母、汉字、空格、字符或它们中任意几者的组合等。例如,所述密钥为:beijing,所述密码原码为:tianjin。在该步骤之后,本发明实施例的密码生成方法还包括:判断所述密钥是否包括汉字。若所述密钥包括汉字,则执行步骤s202;若所述密钥不包括汉字,则执行步骤s203。步骤s202、将所述汉字转换为与其拼音对应的英文字母。例如,当用户输入的密钥为:中国radio时,将该密钥中的汉字“中国”转换为英文字母:zhongguo。在步骤s202之后,执行步骤s203。步骤s203、从所述密钥中提取所有的英文字母,并将所有的英文字母划分成第一部分英文字母和第二部分英文字母。在一可选实施方式中,所述将所有的英文字母划分成两部分的步骤可包括:若字母总数为偶数,则将所有的英文字母均分为两部分;若字母总数为奇数,则可在去掉第一个字母之后将其均分为两部分。进一步,在将所有英文字母均分成两部分之后,本发明实施例的密码生成方法还可包括:若所述两部分中的任一部分存在重复的英文字母,则对英文字母进行去重处理。例如,假设从所述密钥中提取的所有的英文字母为:zhongguoradio,则可将第一个字母“z”去除,然后将其均分为两部分:honggu和oradio。然后,对这两部分分别进行去重处理,得到第一部分英文字母“hongu”、第二部分英文字母“oradi”。步骤s204、将所述第一部分英文字母填入一个矩阵模板,以得到第一加密矩阵;将所述第二部分英文字母填入另一矩阵模板,以得到第二加密矩阵。其中,所述矩阵模板可理解为一部分位置已被填充、另一部分位置未被填充的矩阵,其可包括:数字、字符、以及多个待填充位置。另外,为了提高最终生成的密码的复杂度,所述矩阵模板还可满足:待填充位置的个数为26个;和/或,每行每列都包括所述数字、且每行每列的数字个数均不超过第一阈值(比如2);和/或,所述矩阵模板的每行每列都包括所述字符、且每行每列的字符个数均不超过第二阈值(比如3)。在一可选实施方式中,所述将所述第一部分英文字母填入一个矩阵模板,以得到第一加密矩阵的步骤包括:将所述第一部分英文字母填入所述矩阵模板的待填充位置;若所述矩阵模板中还有剩余的待填充位置,则再将英文字母表中去除所述第一部分英文字母之后的其他字母填入所述剩余的待填充位置。进一步,在该可选实施方式中,为了提高最终生成的加密密码的复杂度,在将第一部分英文字母填入矩阵模板时,可以按照相邻两行待填充位置的英文字母大小写不同的填入原则进行填充。比如,对于矩阵模板第一行的待填充位置,填入大写字母;对于矩阵模板第二行的待填充位置,填入小写字母;对于矩阵模板第三行的待填充位置,填入大写字母……,进而得到第一加密矩阵。另外,基于与得到第一加密矩阵类似的处理步骤,可得到第二加密矩阵。在本发明实施例中,通过在矩阵模板中设置数字、字符,以及在生成第一加密矩阵和第二加密矩阵时遵循相邻两行待填充位置的英文字母大小写不同的填入原则等操作,使得生成的加密密码不只包括英文字母,还可包括数字、字符,提高了密码的安全性。步骤s205、从所述密码原码中提取所有的英文字母,并将每两个英文字母分为一组。在一可选实施方式中,所述将每两个英文字母分为一组的步骤包括:若字母总数为偶数,则按照每两个字母为一组的方式进行划分;若字母总数为奇数,则可在去掉第一个字母之后再按照每两个字母为一组的方式进行划分。例如,从密码原码中提取的所有的英文字母为:tianjin,则可先将第一个字母“t”去除,然后将其划分为“ia”、“nj”、“in”三组。步骤s206、根据第一加密矩阵和第二加密矩阵计算每组第一个字母的加密结果,以及每组第二个字母的加密结果。在一可选实施方式中,该步骤可包括:查找每组第一个字母在第一加密矩阵的行序号p1、列序号q1,以及每组第二个字母在第二加密矩阵的行序号p2、列序号q2;将第一加密矩阵中行序号为p1、列序号为q2的元素取出,作为每组第一个字母的加密结果;将第二加密矩阵中行序号为p2、列序号为q1的元素取出,作为每组第二个字母的加密结果。需要指出的是,在查找每组第一个字母在第一加密矩阵的位置、以及查找每组第二个字母在第二加密矩阵的位置时,忽略字母的大小写。比如,从密码原码中划分出的某组第一个字母为“i”,第一加密矩阵中存在英文字母“i”,则将英文字母“i”在第一加密矩阵中的行序号作为p1,将英文字母“i”在第一加密矩阵中的列序号作为q1。在另一可选实施方式中,该步骤可包括:查找每组第一个字母在第一加密矩阵的行序号p1、列序号q1,以及每组第二个字母在第二加密矩阵的行序号p2、列序号q2;将第一加密矩阵中行序号为p2、列序号为q1的元素取出,作为每组第一个字母的加密结果;将第二加密矩阵中行序号为p1、列序号为q2的元素取出,作为每组第二个字母的加密结果。步骤s207、将所有英文字母的加密结果组合成加密密码。具体实施时,在得到加密密码之后,可将该加密密码展示给用户。并且,还可向用户提供该加密密码的复制功能,以便于用户使用该加密密码。在本发明实施例中,通过以上步骤能够生成复杂、无规律的加密密码,提高了密码的安全性。另外,由于用户只需记忆简单的密钥和密码原码,无需记忆复杂的加密密码,提高了密码的易用性,降低了用户在多个账号中使用同一密码的概率,有利于用户账号的安全保护。下面结合一个具体示例对图2所示的部分流程进行说明。在该具体示例中,矩阵模板的样式参见表一,用户输入的密钥为:examplekeyword,用户输入的密码原码为:cuishuyuan。如表一所示,该矩阵模板的大小为7*7(即7行7列),包括数字0~9、13个字符、以及26个待填充位置。并且,在该矩阵模板中,数字0~6按照从左上至中至右上的顺序排布,数字7~9分别排列在第1/4/7列,第6/2/4行,以保证每行、每列都有数字,且每行、每列的数字个数不超过2个;该矩阵模板选取了13个常用的字符,每行、每列都包括字符,且每行、每列的字符个数不超过3个,且同行、同列中的字符都不相邻。表一0~!@6#8%1$5^&*924(7,)3.一、根据步骤s203得到第一部分英文字母、第二部分英文字母。具体来说,通过忽略密钥中的空格、数字和字符,只保留所有的英文字母,然后将所有的英文字母划分为两部分,对于每部分重复出现的字母只保留一个,进而得到步骤s203中的第一部分英文字母“exampl”、第二部分英文字母“keyword”。二,根据步骤s204得到第一加密矩阵和第二加密矩阵。具体来说,将第一部分英文字母顺次填入表一所示的矩阵模板中的待填充位置,并将英文字母表中的其他字母顺次填入剩余的待填充位置,以得到第一加密矩阵(参见表二);将第二部分英文字母顺次填入表一所示的矩阵模板中的待填充位置,并将英文字母表中的其他字母顺次填入剩余的待填充位置,以得到第二加密矩阵(参见表三)。另外,在填充时遵循第一行字母大写、第二行字母小写、第三行字母大写……第七行字母大写的填入原则。表二0~e!x@6#am8%plb1$cd5^f&g*hi9jk2n4(07q,rstu)vw3.yz表三0~k!e@6#yw8%ord1$ab5^c&f*gh9ij2l4(m7n,pqst)uv3.xz三,根据步骤s205至步骤s207得到加密密码。具体来说,先从密码原码中提取所有英文字母,并将每两个字母分为一组,从而得到cu/is/hu/yu/an;然后,按照如下方式计算每组第一个字母的加密结果,以及每组第二个字母的加密结果:查找每组第一个字母在第一加密矩阵的行序号p1、列序号q1,以及每组第二个字母在第二加密矩阵的行序号p2、列序号q2;将第一加密矩阵中行序号为p1、列序号为q2的元素取出,作为每组第一个字母的加密结果;将第二加密矩阵中行序号为p2、列序号为q1的元素取出,作为每组第二个字母的加密结果;再将所有字母的加密结果顺次排列,从而得到加密密码:13is&.vxan。图3是根据本发明一个实施例的密码生成装置的主要模块示意图。如图3所示,本发明实施例的密码生成装置300包括:接收模块301、构建模块302、加密模块303。接收模块301,用于接收用户输入的密钥和密码原码。其中,所述密钥和所述密码原码可以是数字、英文字母、汉字或它们中任意几者的组合等。例如,所述密钥为:beijing,所述密码原码为:tianjin。构建模块302,用于将所述密钥填入预先配置的矩阵模板,以构建加密矩阵。其中,所述矩阵模板可理解为一部分位置已被填充、另一部分位置未被填充的矩阵,其可包括:数字、字符、以及多个待填充位置。另外,为了提高最终生成的密码的复杂度,所述矩阵模板还可满足:待填充位置的个数为26个;和/或,每行、每列都包括所述数字,且每行、每列的数字个数均不超过第一阈值(比如2);和/或,所述矩阵模板的每行、每列都包括所述字符,且每行、每列的字符个数均不超过第二阈值(比如3)。加密模块303,用于根据所述加密矩阵对所述密码原码进行加密,以得到加密密码。在本发明实施例中,通过接收模块接收用户输入的密钥和密码原码,通过构建模块将所述密钥填入预先配置的矩阵模板以构建加密矩阵,通过加密模块根据所述加密矩阵对所述密码原码进行加密以得到加密密码,能够提高密码的安全性。另外,由于用户只需记忆简单的密钥和密码原码,无需记忆复杂的加密密码,提高了密码的易用性,进而降低了用户在多个账号中使用同一密码的概率,有利于用户账号安全保护。图4是根据本发明另一实施例的密码生成装置的主要模块示意图。如图4所示,本发明实施例的密码生成装置400包括:接收模块401、转换模块402、构建模块403、加密模块404。接收模块401,用于接收用户输入的密钥和密码原码。转换模块402,用于在所述密钥包括汉字的情况下,将所述汉字转换为与其拼音对应的英文字母,再调用构建模块403执行所述将所述密钥填入预先配置的矩阵模板的操作。另外,在所述密钥不包括汉字的情况下,则可直接调用构建模块403执行所述将所述密钥填入预先配置的矩阵模板的操作。构建模块403,用于将所述密钥填入预先配置的矩阵模板,以构建加密矩阵,具体包括:构建模块403从所述密钥中提取所有的英文字母,并将所有的英文字母划分成第一部分英文字母和第二部分英文字母;构建模块403将所述第一部分英文字母填入一个矩阵模板,以得到第一加密矩阵;构建模块403将所述第二部分英文字母填入另一矩阵模板,以得到第二加密矩阵。其中,所述矩阵模板可理解为一部分位置已被填充、另一部分位置未被填充的矩阵,其可包括:数字、字符、以及多个待填充位置。另外,为了提高最终生成的密码的复杂度,所述矩阵模板还可满足:待填充位置的个数为26个;和/或,每行、每列都包括所述数字,且每行、每列的数字个数均不超过第一阈值(比如2);和/或,所述矩阵模板的每行、每列都包括所述字符,且每行、每列的字符个数均不超过第二阈值(比如3)。在一可选实施方式中,构建模块403将所有的英文字母划分成两部分可包括:若字母总数为偶数,则构建模块403将所有的英文字母均分为两部分;若字母总数为奇数,则构建模块403可在去掉第一个字母之后将其均分为两部分。进一步,在该可选实施方式中,构建模块403还可用于:在将所有英文字母均分成两部分之后,若所述两部分中的任一部分存在重复的英文字母,则构建模块403对英文字母进行去重处理。例如,假设从所述密钥中提取的所有的英文字母为:zhongguoradio,则可将第一个字母“z”去除,然后将其均分为两部分:honggu和oradio。然后,对这两部分分别进行去重处理,得到第一部分英文字母“hongu”、第二部分英文字母“oradi”。在一可选实施方式中,构建模块403将所述第一部分英文字母填入一个矩阵模板,以得到第一加密矩阵包括:构建模块403将所述第一部分英文字母填入所述矩阵模板的待填充位置;若所述矩阵模板中还有剩余的待填充位置,则构建模块403再将英文字母表中去除所述第一部分英文字母之后的其他字母填入所述剩余的待填充位置。进一步,在该可选实施方式中,为了提高最终生成的加密密码的复杂度,构建模块403在将第一部分英文字母填入矩阵模板时,可以按照相邻两行待填充位置的英文字母大小写不同的填入原则进行填充。比如,对于矩阵模板第一行的待填充位置,填入大写字母;对于矩阵模板第二行的待填充位置,填入小写字母;对于矩阵模板第三行的待填充位置,填入大写字母……,进而得到第一加密矩阵。另外,基于与得到第一加密矩阵类似的处理步骤,可得到第二加密矩阵。加密模块404,用于根据所述加密矩阵对所述密码原码进行加密,以得到加密密码,具体包括:加密模块404从所述密码原码中提取所有的英文字母,并将每两个英文字母分为一组;加密模块404根据第一加密矩阵和第二加密矩阵计算每组第一个字母的加密结果、以及每组第二个字母的加密结果;加密模块404将所有英文字母的加密结果组合成加密密码。在一可选实施方式中,加密模块404将每两个英文字母分为一组可包括:若字母总数为偶数,则加密模块404按照每两个字母为一组的方式进行划分;若字母总数为奇数,则加密模块404可在去掉第一个字母之后再按照每两个字母为一组的方式进行划分。例如,从密码原码中提取的所有的英文字母为:tianjin,则可先将第一个字母“t”去除,然后将其划分为“ia”、“nj”、“in”三组。在一可选实施方式中,加密模块404根据第一加密矩阵和第二加密矩阵计算每组第一个字母的加密结果、以及每组第二个字母的加密结果可包括:加密模块404查找每组第一个字母在第一加密矩阵的行序号p1、列序号q1,以及每组第二个字母在第二加密矩阵的行序号p2、列序号q2;加密模块404将第一加密矩阵中行序号为p1、列序号为q2的元素取出,作为每组第一个字母的加密结果;加密模块404将第二加密矩阵中行序号为p2、列序号为q1的元素取出,作为每组第二个字母的加密结果。需要指出的是,加密模块404在查找每组第一个字母在第一加密矩阵的位置、以及查找每组第二个字母在第二加密矩阵的位置时,需要忽略字母的大小写。比如,从密码原码中划分出的某组第一个字母为“i”,第一加密矩阵中存在英文字母“i”,则将英文字母“i”在第一加密矩阵中的行序号作为p1,将英文字母“i”在第一加密矩阵中的列序号作为q1。在另一可选实施方式中,加密模块404根据第一加密矩阵和第二加密矩阵计算每组第一个字母的加密结果、以及每组第二个字母的加密结果可包括:加密模块404查找每组第一个字母在第一加密矩阵的行序号p1、列序号q1,以及每组第二个字母在第二加密矩阵的行序号p2、列序号q2;加密模块404将第一加密矩阵中行序号为p2、列序号为q1的元素取出,作为每组第一个字母的加密结果;加密模块404将第二加密矩阵中行序号为p1、列序号为q2的元素取出,作为每组第二个字母的加密结果。在具体实施时,本发明实施例的装置还可包括展示模块,用于将该加密密码展示给用户,以及向用户提供该加密密码的复制功能,以便于用户使用该加密密码。本发明实施例的装置能够生成复杂、无规律的加密密码,提高了密码的安全性。另外,由于用户只需记忆简单的密钥和密码原码,无需记忆复杂的加密密码,本发明实施例的装置还提高了密码的易用性,降低了用户在多个账号中使用同一密码的概率,有利于用户账号的安全保护。图5示出了可以应用本发明实施例的密码生成方法或密码生成装置的示例性系统架构500。如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503输入的密钥和密码原码进行加密处理的后台服务器。后台服务器可以对接收到的密钥和密码原码等进行分析、处理,并将处理结果(例如加密密码)反馈给终端设备。需要说明的是,本发明所提供的密码生成方法一般由服务器505执行,相应地,密码生成装置一般设置于服务器505中。应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。另外,在一些情况下,可以应用本发明的密码生成方法或密码生成装置的示例性系统架构也可以不包括网络504和服务器505,而只包括终端设备501、502或503。应该理解,在这些情况下,终端设备可以是具有显示屏并且支持程序运行的各种电子设备。图6示出了适于用来实现本发明的电子设备的计算机系统600的结构示意图。图6示出的计算机系统仅仅是一个示例,不应对本发明的功能和使用范围带来任何限制。如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线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等等,或者上述的任意合适的组合。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、构建模块、加密模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,接收模块还可以被描述为“接收用户输入的密钥和密码原码的模块”。作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下流程:接收用户输入的密钥和密码原码;将所述密钥填入预先配置的矩阵模板,以构建加密矩阵;根据所述加密矩阵对所述密码原码进行加密,以得到加密密码。上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1