CN117556411A - 密码的生成方法、密码的生成设备以及可读存储介质 - Google Patents
密码的生成方法、密码的生成设备以及可读存储介质 Download PDFInfo
- Publication number
- CN117556411A CN117556411A CN202410034046.9A CN202410034046A CN117556411A CN 117556411 A CN117556411 A CN 117556411A CN 202410034046 A CN202410034046 A CN 202410034046A CN 117556411 A CN117556411 A CN 117556411A
- Authority
- CN
- China
- Prior art keywords
- password
- target
- character
- character combination
- combination rule
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 150000003839 salts Chemical class 0.000 claims abstract description 94
- 238000006243 chemical reaction Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000005336 cracking Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000243251 Hydra Species 0.000 description 1
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- QRXWMOHMRWLFEY-UHFFFAOYSA-N isoniazide Chemical compound NNC(=O)C1=CC=NC=C1 QRXWMOHMRWLFEY-UHFFFAOYSA-N 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及电子数字数据处理技术领域,尤其涉及一种密码的生成方法、密码的生成设备以及可读存储介质。所述方法通过接收根密钥和平台信息,并获取盐值;根据所述根密钥、所述平台信息和所述盐值,生成二进制数据;对所述二进制数据进行字符转换,生成目标字符;确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码;基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储。生成更加复杂和独特的密码,提高了密码的安全性,同时通过关联存储非敏感信息,既方便用户找回密码,又避免了直接存储密码带来的安全风险。
Description
技术领域
本发明涉及电子数字数据处理技术领域,尤其涉及一种密码的生成方法、密码的生成设备以及可读存储介质。
背景技术
密码作为一种用于保护信息安全的方式,只有掌握正确密码的用户,才能访问被保护的信息。密码通常是由一系列字符、数字或者特殊符号组成的字符串。
在相关的密码生成方法中,生成的密码通常是无规律的密码,或者是特定规律的密码。对于无规律的密码,存在记忆困难的缺陷,一旦出现密码遗忘,将无法再次找回;对于特定规律的密码,容易被破解,存在安全性不足的缺陷。综上,采用常用的密码生成方法生成的密码,存在无法找回或者容易被破解的缺陷。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种密码的生成方法,旨在解决常用的密码生成方法生成的密码,存在容易遗忘或者容易被破解的问题。
为实现上述目的,本发明提供的一种密码的生成方法,所述密码的生成方法包括以下步骤:
接收根密钥和平台信息,并获取盐值;
根据所述根密钥、所述平台信息和所述盐值,生成二进制数据;
对所述二进制数据进行字符转换,生成目标字符;
确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码;
基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储。
可选地,所述接收根密钥和平台信息,并获取盐值的步骤之前包括:
在进入密码生成进程之后,输出根密钥输入界面和平台信息输入界面;
基于所述根密钥输入界面接收根密钥,基于所述平台信息输入界面接收所述平台信息;
所述获取盐值的步骤包括:
获取系统当前时间,并将所述系统当前时间作为所述盐值。
可选地,所述根据所述根密钥、所述平台信息和所述盐值,生成二进制数据的步骤包括:
根据所述平台信息,于算法库中,确定所述平台信息对应的密码算法;
将所述根密钥、所述平台信息、所述盐值和目标数据长度作为所述密码算法的输入参数;
基于所述密码算法生成所述目标数据长度的二进制数据。
可选地,所述确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码的步骤之后,还包括:
对每个生成的所述密码进行弱口令验证;
丢弃未通过所述弱口令验证的所述密码。
可选地,所述确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码的步骤包括:
根据符号类型,对所述目标字符进行字符归类,生成各个字符集,所述字符集包括大写字母集、小写字母集、数字集和/或符号集;
基于所述字符组合规则,于所述各个字符集中获取字符,并组合成至少一个所述密码;
所述确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码的步骤之后,还包括:
根据各个所述密码的生成顺序,对各个所述密码进行编号;
将各个所述密码及其对应的密码编号输出至密码选择界面。
可选地,所述基于所述字符组合规则,于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤包括:
输出字符组合规则选择界面;
当所述字符组合规则选择界面接收到自动生成指令时,调用预设的字符组合规则,并基于所述预设的字符组合规则,执行所述于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤;
当所述字符组合规则选择界面接收到自定义生成指令时,输出字符组合规则自定义界面;
在所述字符组合规则自定义界面接收到自定义的字符组合规则之后,基于所述自定义的字符组合规则,执行所述于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤。
可选地,所述基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储的步骤包括:
基于密码选择界面,接收密码编号;
基于所述密码编号,确定并输出所述目标密码;
将所述平台信息、所述盐值、所述字符组合规则以及所述目标密码对应的密码编号关联,并保存至密码信息库。
可选地,所述基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储的步骤之后,还包括:
在接收到密码找回指令时,输出盐值选择界面、平台信息选择界面以及根密钥输入界面;
当所述盐值选择界面接收到目标盐值,所述平台信息选择界面接收到目标平台信息,以及所述根密钥输入界面接收到根密钥之后,基于所述目标盐值和所述目标平台信息,确定目标字符组合规则和目标密码编号;
基于所述目标盐值、所述目标平台信息、所述根密钥,以及所述目标字符组合规则,生成至少一个密码;
根据所述目标密码编号,确定目标密码;
将所述目标密码作为所述密码找回指令的响应信息输出。
此外,为实现上述目的,本发明还提供一种密码的生成设备,所述密码的生成设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的密码的生成程序,所述密码的生成程序被所述处理器执行时实现如上所述的密码的生成方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有密码的生成程序,所述密码的生成程序被处理器执行时实现如上所述的密码的生成方法的步骤。
本发明实施例提供密码的生成方法、密码的生成设备以及可读存储介质。通过引入根密钥和平台信息:通过接收根密钥和平台信息,并结合每个密码生成时的盐值,可以使每个密码都与特定的平台和用户相关联。这样可以增加密码的复杂性和独特性,提高密码的安全性。通过根密钥、平台信息和盐值生成二进制数据,可以引入更多的随机性和复杂性。通过根据确定的字符组合规则将二进制数据转换为目标字符,确定的字符组合规则可以是根据具体需求和安全性要求定制的,以生成更加复杂和多样化的密码,增加密码的破解难度。通过接收密码编号,可以将生成的密码与具体平台和用户进行关联。通过将平台信息、盐值、字符组合规则以及目标密码对应的密码编号关联,并保存至密码信息库,这样做的目的在于,当用户要找回密码时,可以基于平台信息、盐值、字符组合规则以及目标密码对应的密码编号,获得目标密码。这样可以生成更加复杂和独特的密码,提高密码的安全性,同时通过关联存储非敏感信息,既方便用户对密码的管理和使用,又避免了直接存储密码带来的安全风险。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例涉及的密码的生成设备的硬件运行环境的架构示意图;
图2为本发明密码的生成方法的第一实施例的流程示意图;
图3为本发明密码的生成方法的基于字符组合规则和目标字符生成密码的示意图;
图4为本发明密码的生成方法的第二实施例的流程示意图;
图5为本发明密码的生成方法的一实施例的流程示意图;
图6为本发明密码的生成方法的第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图作进一步说明。
具体实施方式
日常生活中人们经常把一些固定的信息,例如姓名、生日、手机号等,分成几个密码组,然后根据一定的规则,例如顺序、倒序、加符号等进行组合,比如“王老九02050400667788”就可以变成“4050200066WLJ”或者“7788WLJ020504”作为多个密码使用。这种采用常见信息组合成密码的方法很容易遭到破解。为了提高密码的安全性,常见密码生成方法有三种:
一是字典映射。通过自定义一个字典映射,将个别容易记忆的字符进行替换,例如把单词中的字母替换为它们的“形近字”,比如把“hello”变为“he110”,即数字0替换字母o,数字1替换字母L。
二是采用伪随机函数生成随机数作为密码。
三是生成一个随机数,然后将其做一定的变换,扩展成一个长的序列作为密码。变换扩展的方法可以是自研的算法或者直接采用SHA1、MD5等杂凑算法。
对于上述三种密码生成方法,第一个方法容易遭到字典攻击,存在安全性不足的缺陷;第二个方法虽然使用了随机数,但是由于是伪随机函数的随机性不够,容易被预测到;第三个方法直接使用杂凑函数,可能会被彩虹表攻击破解,同时如果使用了SHA-1等安全强度低的杂凑函数,也容易遭受攻击。除此之外,由于第二个方法和第三个方法生成的密码不确定,一旦出现密码遗忘,将无法再次找回。
本申请密码的生成方法,通过接收根密钥和平台信息,并获取盐值;根据所述根密钥、所述平台信息和所述盐值,生成二进制数据;对所述二进制数据进行字符转换,生成目标字符;确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码;基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储。生成更加复杂和独特的密码,提高了密码的安全性,同时通过关联存储非敏感信息,既可以方便用户找回密码,又避免了直接存储密码带来的安全风险。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
作为一种实现方案,图1为本发明实施例方案涉及的密码的生成设备的硬件运行环境的架构示意图。
如图1所示,该密码的生成设备可以包括:处理器101,例如中央处理器(CentralProcessing Unit,CPU),存储器102,通信总线103。其中,存储器102可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器102可选的还可以是独立于前述处理器101的存储装置。通信总线103用于实现这些组件之间的连接通信。
本领域技术人员可以理解,图1中示出的结构并不构成对密码的生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器102中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及密码的生成程序。
在图1所示的密码的生成设备中,处理器101、存储器102可以设置在密码的生成设备中,所述密码的生成设备通过处理器101调用存储器102中存储的密码的生成程序,并执行以下操作:
接收根密钥和平台信息,并获取盐值;
根据所述根密钥、所述平台信息和所述盐值,生成二进制数据;
对所述二进制数据进行字符转换,生成目标字符;
确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码;
基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储。
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
在进入密码生成进程之后,输出根密钥输入界面和平台信息输入界面;
基于所述根密钥输入界面接收根密钥,基于所述平台信息输入界面接收所述平台信息;
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
获取系统当前时间,并将所述系统当前时间作为所述盐值。
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
根据所述平台信息,于算法库中,确定所述平台信息对应的密码算法;
将所述根密钥、所述平台信息、所述盐值和目标数据长度作为所述密码算法的输入参数;
基于所述密码算法生成所述目标数据长度的二进制数据。
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
对每个生成的所述密码进行弱口令验证;
丢弃未通过所述弱口令验证的所述密码。
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
根据符号类型,对所述目标字符进行字符归类,生成各个字符集,所述字符集包括大写字母集、小写字母集、数字集和/或符号集;
基于所述字符组合规则,于所述各个字符集中获取字符,并组合成至少一个所述密码;
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
根据各个所述密码的生成顺序,对各个所述密码进行编号;
将各个所述密码及其对应的密码编号输出至密码选择界面。
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
输出字符组合规则选择界面;
当所述字符组合规则选择界面接收到自动生成指令时,调用预设的字符组合规则,并基于所述预设的字符组合规则,执行所述于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤;
当所述字符组合规则选择界面接收到自定义生成指令时,输出字符组合规则自定义界面;
在所述字符组合规则自定义界面接收到自定义的字符组合规则之后,基于所述自定义的字符组合规则,执行所述于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤。
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
基于密码选择界面,接收密码编号;
基于所述密码编号,确定并输出所述目标密码;
将所述平台信息、所述盐值、所述字符组合规则以及所述目标密码对应的密码编号关联,并保存至密码信息库。
在一实施例中,处理器101可以用于调用存储器102中存储的密码的生成程序,并执行以下操作:
在接收到密码找回指令时,输出盐值选择界面、平台信息选择界面以及根密钥输入界面;
当所述盐值选择界面接收到目标盐值,所述平台信息选择界面接收到目标平台信息,以及所述根密钥输入界面接收到根密钥之后,基于所述目标盐值和所述目标平台信息,确定目标字符组合规则和目标密码编号;
基于所述目标盐值、所述目标平台信息、所述根密钥,以及所述目标字符组合规则,生成至少一个密码;
根据所述目标密码编号,确定目标密码;
将所述目标密码作为所述密码找回指令的响应信息输出。
基于上述密码的生成设备的硬件架构,提出本发明密码的生成方法的实施例。
参照图2,在第一实施例中,所述密码的生成方法包括以下步骤:
步骤S100:接收根密钥和平台信息,并获取盐值。
在本实施例中,在接收到密码生成指令时,进入密码生成进程。在进入密码生成进程之后,输出根密钥输入界面和平台信息输入界面;然后,基于所述根密钥输入界面接收根密钥,基于所述平台信息输入界面接收所述平台信息;以及,获取系统当前时间,并将所述系统当前时间作为所述盐值。
这里的根密钥,是由数字构成的Pin(Personal identification number,个人身份识别码)码,这个Pin码需要由用户输入,并且需要用户记忆。可以理解的,Pin码具有容易记忆,且只由数字组成的特点。在本实施例中,不对用户输入的根密钥进行保存。这里的平台信息,是平台的名称,例如,AA专利网、BB聊天应用、CC音乐平台;这里的盐值是时间,可以是接收到密码生成指令的时间,也可以是接收根密钥和平台信息的时间。
作为一种可选的实施方式,当盐值为接收到密码生成指令的时间时,若在预设时间间隔之后,接收到根密钥和平台信息,则退出密码生成进程,并返回超时提示信息。若在预设时间间隔之内接收到根密钥和平台信息,则执行获取接收到密码生成指令的时间,并将接收到密码生成指令的时间作为盐值。这样做的目的在于避免在出现延迟的时候,重复接收到用户输入的根密钥和平台信息。
步骤S200:根据所述根密钥、所述平台信息和所述盐值,生成二进制数据。
在本实施例中,在获得根密钥、平台信息和盐值之后,调用预设的KDF(Keyderivation function,密钥导出函数)函数;然后,将根密钥、平台信息和盐值作为KDF函数的输入参数,然后基于KDF函数生成二进制数据。
可选地,KDF函数可以采用GB/T 15852消息鉴别码或者ISO/IEC 9797。需要说明的是,若消息鉴别码中使用的密码算法为杂凑密码算法,优选地,使用SHA256、SM3、SHA512等国际标准或者国密标准算法;若消息鉴别码中使用的密码算法为分组密码算法,优选地,选择AES、SM4等国际标准或者国密标准算法,需要说明的是,当消息鉴别码中使用的密码算法为分组密码算法时,如果输入的消息长度不够,可以采用分组加密填充规则,如PKCS7Padding。
可选地,对于不同的平台信息,可以选择不同的密码算法,也可以用同一个密码算法。可以理解的,通过不同的平台信息对应不同的密码算法,可以提高最终生成的目标密码的安全性。
作为一种可选的实施方式,根据所述平台信息,于算法库中,确定所述平台信息对应的密码算法;然后,将所述根密钥、所述平台信息、所述盐值和目标数据长度作为所述密码算法的输入参数,并基于所述密码算法生成所述目标数据长度的二进制数据。
其中,在将目标数据长度作为密码算法的输入参数之前,输出数据长度输入界面;然后,基于数据长度输入界面接收目标数据长度,以获得目标数据长度。可以理解的,在后续密码生成的过程中,二进制数据的长度越长,生成的可选的密码的数量越多,或者生成的可选的密码的长度越长,密码的长度越长意味着密码的安全性越高。
获取系统当前时间作为盐值的目的是为了增加密码生成的随机性和复杂性。使用系统当前时间作为盐值可以确保每次生成密码时盐值都不同,即使在相同的根密钥和平台信息输入下。这样可以生成不同的二进制数据和目标字符,从而生成不同的密码。通过使用动态的盐值,攻击者难以预测和破解生成的密码,提高了密码的安全性。
此外,盐值的引入还可以抵御一些特定的攻击,如彩虹表攻击。彩虹表是一种预先计算出的密文和明文之间的对应关系的表,攻击者可以使用彩虹表来快速破解密码。通过每次生成密码时都使用不同的盐值,由于攻击者无法事先得到所有可能的盐值和其对应的密钥,因此可以防止彩虹表攻击。
步骤S300:对所述二进制数据进行字符转换,生成目标字符。
可选地,调用字符转换规则,对二进制数据进行字符转换。字符转换规则可以是ASCII字符转换规则、Unicode字符转换规则或者Base字符转换规则。可以理解的,对于不同的平台信息,可以采用同一种字符转换规则,也可以采用不同的字符转换规则。具体地,可以根据平台信息,于字符转换规则库中,确定对应的字符转换规则。
在一实施例中,调用ASCII字符转换规则、或者Unicode字符转换规则、或者Base字符转换规则;然后,基于ASCII字符转换规则、或者Unicode字符转换规则、或者Base字符转换规则,对所述二进制数据进行字符转换,生成与所述二进制数据对应的目标字符,所述目标字符包括大写字母、小写字母、数字和/或符号。
步骤S400:确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码。
在本实施例中,在生成目标字符之后,根据符号类型,对所述目标字符进行字符归类,生成各个字符集,所述字符集包括大写字母集、小写字母集、数字集和/或符号集;然后,基于所述字符组合规则,于所述各个字符集中获取字符,并组合成至少一个所述密码。
示例性地,如图3所示。假设二进制数据对应的目标字符为A0QbW*2E3Rb4T,/Rtr$5A@!h9Du##,根据符号类型对目标字符的字符进行字符归类,生成大写字母集AQWERTRASD;小写字母集bbtrhu;数字集023459;符号集*,/$@!##。假设字符组合规则为,一个大写字母组合两个小写字母组合一个数字组合两个大写字母组合一个符号。根据该字符组合规则,生成Abb0QW*、Etr2RT,、Rhu3AS/。
通过字符组合规则和目标字符生成密码,这样做的目的在于生成强密码,以提高密码的安全性。通过字符组合规则在各个字符集中选择字符,并将选取的字符根据字符组合规则组合在一起,形成密码,这样可以增加密码的复杂性和随机性,使其更难以被猜测、破解或被暴力破解程序所破解。故这样做的目的是为了生成强密码,进而提高密码的安全性,避免被盗取。
进一步地,在生成至少一个密码的步骤之后对每个生成的所述密码进行弱口令验证;丢弃未通过所述弱口令验证的所述密码。其中,弱口令验证用来检测如“abc@123456”、“zhangsan*123”、系统默认口令等虽然满足长度和复杂度要求,但在实际使用过程中可能面临字典爆破风险的密码。具体地,可以通过弱口令检查审计工具,例如SNETCracker、hydra,或者自定义弱口令字典的方式实现。
对每个生成的密码进行弱口令验证,目的在于过滤掉容易被猜测或破解的弱密码。弱口令验证是对密码进行一系列测试和分析,以确定密码的强度和安全性。通过进行弱口令验证可以排除一些常见的弱密码,如简单的字典词汇、常见的短语、常见的日期和数字模式等。丢弃未通过弱口令验证的密码可以确保生成的密码达到一定的安全标准,并减少密码猜测和破解的风险。
进一步地,在生成至少一个密码之后,根据各个所述密码的生成顺序,对各个所述密码进行编号;将各个所述密码及其对应的密码编号输出至密码选择界面。以供用户通过密码选择界面,输入目标密码对应的编号,进而确定目标密码。
继续参照图2,步骤S500:基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储。
在本实施例中,在将生成的密码以及密码对应的编号通过密码选择界面输出之后,基于密码选择界面,接收密码编号;然后,基于所述密码编号,确定并输出所述目标密码;以及,将所述平台信息、所述盐值、所述字符组合规则以及所述目标密码对应的密码编号关联,并保存至密码信息库。
其中,将平台信息、盐值、字符组合规则以及目标密码对应的密码编号关联,并保存至密码信息库,这样做的目的在于,当用户要找回密码时,可以基于平台信息、盐值、字符组合规则以及目标密码对应的密码编号,获得目标密码。
进一步地,在确定目标密码之后,将生成的密码删除,进而防止目标密码泄露。
在本实施例提供的技术方案中,通过引入根密钥和平台信息:通过接收根密钥和平台信息,并结合每个密码生成时的盐值,可以使每个密码都与特定的平台和用户相关联。这样可以增加密码的复杂性和独特性,提高密码的安全性。通过根密钥、平台信息和盐值生成二进制数据,可以引入更多的随机性和复杂性。通过根据确定的字符组合规则将二进制数据转换为目标字符,确定的字符组合规则可以是根据具体需求和安全性要求定制的,以生成更加复杂和多样化的密码,增加密码的破解难度。通过接收密码编号,可以将生成的密码与具体平台和用户进行关联。通过将平台信息、盐值、字符组合规则以及目标密码对应的密码编号关联,并保存至密码信息库,这样做的目的在于,当用户要找回密码时,可以基于平台信息、盐值、字符组合规则以及目标密码对应的密码编号,获得目标密码。这样可以生成更加复杂和独特的密码,提高密码的安全性,同时通过关联存储非敏感信息,既可以方便用户对密码的管理和使用,又避免了直接存储密码带来的安全风险。
参照图4,基于上述实施例,在第二实施例中,所述基于所述字符组合规则,于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤包括:
步骤S410:输出字符组合规则选择界面;
步骤S420:当所述字符组合规则选择界面接收到自动生成指令时,调用预设的字符组合规则,并基于所述预设的字符组合规则,执行所述于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤;
步骤S430:当所述字符组合规则选择界面接收到自定义生成指令时,输出字符组合规则自定义界面;
步骤S440:在所述字符组合规则自定义界面接收到自定义的字符组合规则之后,基于所述自定义的字符组合规则,执行所述于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤。
在本实施例中,通过输出字符组合规则选择界面,用户可以选择使用预设的字符组合规则还是自定义生成规则。
如果用户选择使用预设的字符组合规则,将调用预设的字符组合规则来生成密码。这样既可以确保生成的密码符合一定的安全标准,同时也减少用户的配置操作。
如果用户选择使用自定义生成规则,那么系统将输出字符组合规则自定义界面,用户可以在该界面上自定义字符组合规则。用户可以根据自己的需求和安全性要求,设定特定的字符组合规则,例如只使用特定的字符集、指定密码长度等。这样可以满足用户对密码生成方式的个性化需求。
可选地,在字符组合规则自定义界面中,提供字符集的选择、每个字符集中字符个数的选择以及字符的排序规则等。
在一实施例中,如图5所示,在进入密码生成进程之后,接收用户输入的密钥和消息(即平台信息),并自动获取当前系统时间作为盐值。然后,将密钥、消息和盐值作为KDF函数的输入参数,获得二进制数据。然后,将二进制数据作为转化器的输入参数,获得目标字符,其中,转化器用于将二进制数据转化为字符。然后确定字符组合的模式,当字符组合的模式为自动生成模式时,调用预设的字符组合规则,对目标字符进行组合,生成至少一个密码;当字符组合的模式为自定义模式时,通过字符组合规则自定义界面接收用户输入的自定义部分内容的字符组合规则,然后确定该字符组合规则能否生成口令(即密码),若是,则根据该规则生成至少一个口令,若否,确定是否重新自定义字符组合规则,若是,则再次接收用户输入的自定义部分内容的字符组合规则,若否,则调用预设的字符组合规则,对目标字符进行组合,生成至少一个密码。
然后,在用户从多个密码中选择一个密码作为目标密码之后,对目标密码进行弱口令检测,当目标密码通过弱口令检测时,将目标密码(口令)输出;当目标密码未通过弱口令检测时,输出提示信息,再次让用户从多个密码中选择一个密码作为目标密码。
在本实施例提供的技术方案中,通过提供字符组合规则选择界面和字符组合规则自定义界面,可以满足用户的个性化需求。同时,对于不熟悉密码生成的用户来说,提供预设的字符组合规则可以简化操作,并保证密码的安全性。进一步增加密码生成方法的灵活性和适应性。
参照图6,基于上述实施例,在第三实施例中,所述基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储的步骤之后,还包括:
步骤S610:在接收到密码找回指令时,输出盐值选择界面、平台信息选择界面以及根密钥输入界面;
步骤S620:当所述盐值选择界面接收到目标盐值,所述平台信息选择界面接收到目标平台信息,以及所述根密钥输入界面接收到根密钥之后,基于所述目标盐值和所述目标平台信息,确定目标字符组合规则和目标密码编号;
步骤S630:基于所述目标盐值、所述目标平台信息、所述根密钥,以及所述目标字符组合规则,生成至少一个密码;
步骤S640:根据所述目标密码编号,确定目标密码;
步骤S650:将所述目标密码作为所述密码找回指令的响应信息输出。
在本实施例中,通过盐值选择界面接收目标盐值,可以确定目标密码的生成时间;通过平台信息选择界面接收目标平台信息,可以确定目标密码对应的目标平台;通过根密钥输入界面接收根密钥,可以确定用户身份。
基于所述目标盐值和所述目标平台信息,可以于密码信息库中,确定目标密码对应的目标字符组合规则和目标密码编号。然后,将所述目标盐值、所述目标平台信息、所述根密钥作为密码算法的输入参数,并基于密码算法生成二进制数据。然后,将二进制数据转换为目标字符,并根据目标字符组合规则生成至少一个密码,并按照生成的顺序对密码进行编号。然后,根据目标密码编号,找到目标密码。
在本实施例提供的技术方案中,通过让用户提供目标盐值、目标平台信息和根密钥,找回目标密码。这样做可以实现了密码找回功能。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被密码的生成设备中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有密码的生成程序,所述密码的生成程序被处理器执行时实现如上实施例所述的密码的生成方法的各个步骤。
其中,所述计算机可读存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变形在内。
Claims (10)
1.一种密码的生成方法,其特征在于,所述密码的生成方法包括以下步骤:
接收根密钥和平台信息,并获取盐值;
根据所述根密钥、所述平台信息和所述盐值,生成二进制数据;
对所述二进制数据进行字符转换,生成目标字符;
确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码;
基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储。
2.如权利要求1所述的密码的生成方法,其特征在于,所述接收根密钥和平台信息,并获取盐值的步骤之前包括:
在进入密码生成进程之后,输出根密钥输入界面和平台信息输入界面;
基于所述根密钥输入界面接收根密钥,基于所述平台信息输入界面接收所述平台信息;
所述获取盐值的步骤包括:
获取系统当前时间,并将所述系统当前时间作为所述盐值。
3.如权利要求1所述的密码的生成方法,其特征在于,所述根据所述根密钥、所述平台信息和所述盐值,生成二进制数据的步骤包括:
根据所述平台信息,于算法库中,确定所述平台信息对应的密码算法;
将所述根密钥、所述平台信息、所述盐值和目标数据长度作为所述密码算法的输入参数;
基于所述密码算法生成所述目标数据长度的二进制数据。
4.如权利要求1所述的密码的生成方法,其特征在于,所述确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码的步骤之后,还包括:
对每个生成的所述密码进行弱口令验证;
丢弃未通过所述弱口令验证的所述密码。
5.如权利要求1所述的密码的生成方法,其特征在于,所述确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码的步骤包括:
根据符号类型,对所述目标字符进行字符归类,生成各个字符集,所述字符集包括大写字母集、小写字母集、数字集和/或符号集;
基于所述字符组合规则,于所述各个字符集中获取字符,并组合成至少一个所述密码;
所述确定字符组合规则,并基于所述字符组合规则和所述目标字符,生成至少一个密码的步骤之后,还包括:
根据各个所述密码的生成顺序,对各个所述密码进行编号;
将各个所述密码及其对应的密码编号输出至密码选择界面。
6.如权利要求5所述的密码的生成方法,其特征在于,所述基于所述字符组合规则,于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤包括:
输出字符组合规则选择界面;
当所述字符组合规则选择界面接收到自动生成指令时,调用预设的字符组合规则,并基于所述预设的字符组合规则,执行所述于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤;
当所述字符组合规则选择界面接收到自定义生成指令时,输出字符组合规则自定义界面;
在所述字符组合规则自定义界面接收到自定义的字符组合规则之后,基于所述自定义的字符组合规则,执行所述于所述各个字符集中获取字符,并组合成至少一个所述密码的步骤。
7.如权利要求1所述的密码的生成方法,其特征在于,所述基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储的步骤包括:
基于密码选择界面,接收密码编号;
基于所述密码编号,确定并输出所述目标密码;
将所述平台信息、所述盐值、所述字符组合规则以及所述目标密码对应的密码编号关联,并保存至密码信息库。
8.如权利要求1所述的密码的生成方法,其特征在于,所述基于接收的密码编号,确定并输出目标密码,以及将所述平台信息、所述盐值、所述字符组合规则和所述密码编号关联存储的步骤之后,还包括:
在接收到密码找回指令时,输出盐值选择界面、平台信息选择界面以及根密钥输入界面;
当所述盐值选择界面接收到目标盐值,所述平台信息选择界面接收到目标平台信息,以及所述根密钥输入界面接收到根密钥之后,基于所述目标盐值和所述目标平台信息,确定目标字符组合规则和目标密码编号;
基于所述目标盐值、所述目标平台信息、所述根密钥,以及所述目标字符组合规则,生成至少一个密码;
根据所述目标密码编号,确定目标密码;
将所述目标密码作为所述密码找回指令的响应信息输出。
9.一种密码的生成设备,其特征在于,所述密码的生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的密码的生成程序,所述密码的生成程序配置为实现如权利要求1至8中任一项所述的密码的生成方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有密码的生成程序,所述密码的生成程序被处理器执行时实现如权利要求1至8任一项所述的密码的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410034046.9A CN117556411B (zh) | 2024-01-10 | 2024-01-10 | 密码的生成方法、密码的生成设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410034046.9A CN117556411B (zh) | 2024-01-10 | 2024-01-10 | 密码的生成方法、密码的生成设备以及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117556411A true CN117556411A (zh) | 2024-02-13 |
CN117556411B CN117556411B (zh) | 2024-05-10 |
Family
ID=89821888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410034046.9A Active CN117556411B (zh) | 2024-01-10 | 2024-01-10 | 密码的生成方法、密码的生成设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117556411B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150249658A1 (en) * | 2014-02-28 | 2015-09-03 | Jesang Lee | User device performing password based authentication and password registration and authentication methods thereof |
CN107423615A (zh) * | 2016-05-24 | 2017-12-01 | 华为终端(东莞)有限公司 | 一种密码生成方法及用户终端 |
CN110858969A (zh) * | 2018-08-23 | 2020-03-03 | 刘高峰 | 客户端注册方法、装置及系统 |
US10956560B1 (en) * | 2014-08-01 | 2021-03-23 | State Farm Mutual Automobile Insurance Company | System and method for improving the security of stored passwords for an organization |
US20220045848A1 (en) * | 2020-08-07 | 2022-02-10 | Charter Communications Operating, Llc | Password security hardware module |
CN114297686A (zh) * | 2021-12-29 | 2022-04-08 | 深圳通康创智技术有限公司 | 系统安全加解密方法、装置、计算机设备及存储介质 |
CN115147111A (zh) * | 2022-09-02 | 2022-10-04 | 杭州弦冰科技有限公司 | 密钥生成方法以及装置、电子设备、存储介质 |
CN115669209A (zh) * | 2020-07-22 | 2023-01-31 | Oppo广东移动通信有限公司 | 接入认证方法、装置、设备及存储介质 |
-
2024
- 2024-01-10 CN CN202410034046.9A patent/CN117556411B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150249658A1 (en) * | 2014-02-28 | 2015-09-03 | Jesang Lee | User device performing password based authentication and password registration and authentication methods thereof |
US10956560B1 (en) * | 2014-08-01 | 2021-03-23 | State Farm Mutual Automobile Insurance Company | System and method for improving the security of stored passwords for an organization |
CN107423615A (zh) * | 2016-05-24 | 2017-12-01 | 华为终端(东莞)有限公司 | 一种密码生成方法及用户终端 |
CN110858969A (zh) * | 2018-08-23 | 2020-03-03 | 刘高峰 | 客户端注册方法、装置及系统 |
CN115669209A (zh) * | 2020-07-22 | 2023-01-31 | Oppo广东移动通信有限公司 | 接入认证方法、装置、设备及存储介质 |
US20220045848A1 (en) * | 2020-08-07 | 2022-02-10 | Charter Communications Operating, Llc | Password security hardware module |
CN114297686A (zh) * | 2021-12-29 | 2022-04-08 | 深圳通康创智技术有限公司 | 系统安全加解密方法、装置、计算机设备及存储介质 |
CN115147111A (zh) * | 2022-09-02 | 2022-10-04 | 杭州弦冰科技有限公司 | 密钥生成方法以及装置、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
祁鑫;魏美荣;蒋文保;: "口令加密算法安全性分析与对比", 网络空间安全, no. 2, 10 December 2016 (2016-12-10), pages 34 - 38 * |
Also Published As
Publication number | Publication date |
---|---|
CN117556411B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101095239B1 (ko) | 보안 통신 | |
US6134661A (en) | Computer network security device and method | |
US20070039042A1 (en) | Information-security systems and methods | |
US9160744B1 (en) | Increasing entropy for password and key generation on a mobile device | |
RU2007130340A (ru) | Способ создания безопасного кода, способы его использования и программируемое устройство для осуществления способа | |
WO2013117019A1 (zh) | 基于用户自主产生的动态口令对系统登录的方法和装置 | |
JP2008524727A5 (zh) | ||
KR20070086656A (ko) | 생체측정 데이터 및 비밀 추출 코드를 사용하는 키생성 | |
CN108292992A (zh) | 利用密钥和推导参数进行密码生成 | |
CN108868367A (zh) | 智能锁装置 | |
JP6636265B2 (ja) | 認証コードを生成および復元するコンピュータ応用システムおよび方法 | |
RU2730386C2 (ru) | Система и способ аутентификации и шифрования с защитой от перехвата | |
CN117556411B (zh) | 密码的生成方法、密码的生成设备以及可读存储介质 | |
CN115698991A (zh) | 密码认证装置、密码认证方法和密码认证程序 | |
ES2268161T3 (es) | Procedimiento para garantizar la seguridad de un acceso a una red digital. | |
CN113841146A (zh) | 同时满足安全性和易用性的密码生成方法 | |
JP2001005785A (ja) | 電子認証装置 | |
JP4147933B2 (ja) | 端末装置、個人認証方法及び個人認証プログラム | |
JP5458713B2 (ja) | 認証装置、認証方法、認証プログラム | |
US9407441B1 (en) | Adding entropy to key generation on a mobile device | |
KR102407204B1 (ko) | 보안이 개선된 암호압축 장치 및 방법 | |
JP4132968B2 (ja) | 識別番号変換システム、及び認証装置 | |
KR100651914B1 (ko) | 숫자 합산에 의한 비밀 번호 입력 기능을 갖는이동통신단말기 및 이를 이용한 방법 | |
WO2023197379A1 (zh) | 一种身份认证系统及方法 | |
JP4793751B2 (ja) | パスワード認証装置、方法、プログラム及び携帯電話装置 |
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 |