CN116467754B - 一种密码安全存储***、方法、计算机设备及存储介质 - Google Patents
一种密码安全存储***、方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116467754B CN116467754B CN202310728762.2A CN202310728762A CN116467754B CN 116467754 B CN116467754 B CN 116467754B CN 202310728762 A CN202310728762 A CN 202310728762A CN 116467754 B CN116467754 B CN 116467754B
- Authority
- CN
- China
- Prior art keywords
- sub
- password
- hash
- value
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000011218 segmentation Effects 0.000 claims abstract description 49
- 101150060512 SPATA6 gene Proteins 0.000 claims description 198
- 230000006870 function Effects 0.000 claims description 76
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005192 partition Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明适用于数据安全技术领域,提供了一种密码安全存储***、方法、计算机设备及存储介质,包括以下步骤:获取用户账号和密码,对用户账号进行哈希运算得到哈希二进制序列值;根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上标记所述哈希二进制序列值;将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号;在每个子密码上标记对应的序列号,将N个子密码分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同,N为正整数。如此,即使某个密码库被网络攻击者发现并破解,网络攻击者也不会得到任何一个完整的密码。
Description
技术领域
本发明涉及数据安全技术领域,具体是涉及一种密码安全存储***、方法、计算机设备及存储介质。
背景技术
公知的网络资源多采用“用户名+密码”的方式来保障用户信息的安全性,现有技术中,用户账号和登录密码的存储一般都是将密码密文加密存储在一个数据库中,如果该数据库被网络攻击者找到,数据库一旦被破解,大量用户的密码数据都会被泄漏,给企业和用户造成了极大的损失,存在较高的安全隐患。因此,需要提供一种密码安全存储***、方法、计算机设备及存储介质,旨在解决上述问题。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种密码安全存储***、方法、计算机设备及存储介质,以解决上述背景技术中存在的问题。
本发明是这样实现的,一种密码安全存储方法,所述方法包括以下步骤:
获取用户账号和密码,对用户账号进行哈希运算得到哈希二进制序列值;
根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上标记所述哈希二进制序列值;
将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号,哈希二进制序列值的长度值是N的整数倍;
在每个子密码上标记对应的序列号,将N个子密码分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同,N为正整数,且N为定值。
作为本发明进一步的方案:所述根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码的步骤,具体包括:
确定密码位数,将密码位数输入至分割函数库中,所述分割函数库包括各种待分割总位数,每个待分割总位数对应若干个分割函数;
将密码位数与待分割总位数进行匹配,确定若干个分割函数,从若干个所述分割函数中随机挑选出一个分割函数;
根据挑选出的分割函数将密码分割成为N个子密码。
作为本发明进一步的方案:所述确定第一个、第二个、…以及第N个哈希子值对应的序列号的步骤,具体包括:
依次将第一个、第二个、…以及第N个哈希子值输入至序列号库中,所述序列号库包括所有的哈希子值,每个哈希子值对应一个序列号;
根据哈希子值确定对应的序列号,判定序列号是否出现重复;
当后来确定的序列号与之前确定的序列号重复时,在后来确定的序列号后添加顺序数,序列号被更新,使得第一个、第二个、…以及第N个哈希子值对应的序列号均不相同。
作为本发明进一步的方案:所述在每个子密码上标记对应的序列号的步骤,具体包括:
确定第M个子密码,确定第M个哈希子值对应的序列号,将所述序列号标记在所述子密码上;
重复上一步骤,使得M遍历1至N,所述子密码上的序列号标记结束。
作为本发明进一步的方案:所述方法还包括对用户账号和密码进行验证,具体步骤为:
接收用户输入的用户账号和密码,对所述用户账号进行哈希运算得到哈希二进制序列值;
从N个密码库中获取N个标记有所述哈希二进制序列值的子密码;
将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号;
根据所述子密码上的序列号标记,对N个子密码进行排列得到整合密码,将整合密码与用户输入的密码进行比对验证。
本发明的另一目的在于提供一种密码安全存储***,所述***包括:
哈希序列值确定模块,用于获取用户账号和密码,对用户账号进行哈希运算得到哈希二进制序列值;
密码分割标记模块,用于根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上标记所述哈希二进制序列值;
序列号确定模块,用于将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号,哈希二进制序列值的长度值是N的整数倍;
子密码分散存储模块,用于在每个子密码上标记对应的序列号,将N个子密码分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同,N为正整数,且N为定值。
作为本发明进一步的方案:所述密码分割标记模块包括:
密码位数输入单元,用于确定密码位数,将密码位数输入至分割函数库中,所述分割函数库包括各种待分割总位数,每个待分割总位数对应若干个分割函数;
分割函数确定单元,用于将密码位数与待分割总位数进行匹配,确定若干个分割函数,从若干个所述分割函数中随机挑选出一个分割函数;
子密码确定单元,用于根据挑选出的分割函数将密码分割成为N个子密码。
作为本发明进一步的方案:所述序列号确定模块包括:
哈希子值输入单元,用于依次将第一个、第二个、…以及第N个哈希子值输入至序列号库中,所述序列号库包括所有的哈希子值,每个哈希子值对应一个序列号;
序列号判定单元,用于根据哈希子值确定对应的序列号,判定序列号是否出现重复;
顺序数添加单元,当后来确定的序列号与之前确定的序列号重复时,在后来确定的序列号后添加顺序数,序列号被更新,使得第一个、第二个、…以及第N个哈希子值对应的序列号均不相同。
本发明的目的还在于提供一种计算机设备,包括显示屏、存储器、处理器以及计算机程序,其中所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述密码安全存储方法中的步骤。
本发明的目的还在于提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述密码安全存储方法中的步骤。
与现有技术相比,本发明的有益效果是:
本发明通过对用户账号进行哈希运算得到哈希二进制序列值,根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上标记所述哈希二进制序列值;并将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号;最后在每个子密码上标记对应的序列号,将N个子密码分散并加密存储至N个密码库。如此,即使某个密码库被网络攻击者发现并破解,网络攻击者也不会得到任何一个完整的密码;即使N个密码库均被网络攻击者发现并破解,获取N个子密码,网络攻击者也无法得知这N个子密码所对应的用户账号,更无法得知这N个子密码之间的排列关系,不能够得到完整的密码,安全性极高。
附图说明
图1为一种密码安全存储方法的流程图。
图2为一种密码安全存储方法中根据分割函数将密码分割成为N个子密码的流程图。
图3为一种密码安全存储方法中确定哈希子值对应的序列号的流程图。
图4为一种密码安全存储方法中在每个子密码上标记对应的序列号的流程图。
图5为一种密码安全存储方法中对用户账号和密码进行验证的流程图。
图6为一种密码安全存储***的结构示意图。
图7为一种密码安全存储***中密码分割标记模块的结构示意图。
图8为一种密码安全存储***中序列号确定模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述。
如图1所示,本发明实施例提供了一种密码安全存储方法,所述方法包括以下步骤:
S100,获取用户账号和密码,对用户账号进行哈希运算得到哈希二进制序列值;
S200,根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上标记所述哈希二进制序列值;
S300,将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号;
S400,在每个子密码上标记对应的序列号,将N个子密码分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同,N为正整数,且N为定值。
需要说明的是,现有技术中,用户账号和登录密码的存储一般都是将密码密文加密存储在一个数据库中,如果该数据库被网络攻击者找到,数据库一旦被破解,大量用户的密码数据都会被泄漏,给企业和用户造成了极大的损失,存在较高的安全隐患,本发明实施例旨在解决上述问题。
本发明实施例中,用户注册用户账号和密码后,会对用户账号进行哈希运算得到哈希二进制序列值,哈希运算是将任意长度的二进制值映射为固定长度的二进制值,所述哈希二进制序列值的具体长度可以事先设定,这样每个用户账号经过哈希运算后都会得到长度相同的哈希二进制序列值;接着根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上都标记上所述哈希二进制序列值,以表明这N个子密码与所述用户账号相对应,N为正整数,且N为定值,另外,哈希二进制序列值的长度值是N的整数倍,然后将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号,然后在每个子密码上标记对应的序列号,这样就能够知道每个子密码之间的顺序关系,最后将N个子密码随机分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同。如此,即使某个密码库被网络攻击者发现并破解,网络攻击者也不会得到任何一个完整的密码;即使N个密码库均被网络攻击者发现并破解,获取N个子密码,网络攻击者也无法得知这N个子密码所对应的用户账号,更无法得知这N个子密码之间的排列关系,不能够得到完整的密码,安全性极高。
如图2所示,作为本发明一个优选的实施例,所述根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码的步骤,具体包括:
S201,确定密码位数,将密码位数输入至分割函数库中,所述分割函数库包括各种待分割总位数,每个待分割总位数对应若干个分割函数;
S202,将密码位数与待分割总位数进行匹配,确定若干个分割函数,从若干个所述分割函数中随机挑选出一个分割函数;
S203,根据挑选出的分割函数将密码分割成为N个子密码。
本发明实施例中,事先建立有分割函数库中,所述分割函数库包括各种待分割总位数,每个待分割总位数对应若干个分割函数,需要说明的是,用户注册的密码有一定的长度要求,例如为12-16位,则待分割总位数有12、13、14、15和16五种,例如N为4,则若干个分割函数会采用不同的方式将待分割总位数为12的密码分割成4分,可以按照3-3-3-3的方式分割,也可以按照1-2-3-6的方式分割,还有很多方式,随机分割,安全性高,本发明实施例会将密码位数与待分割总位数进行匹配,确定若干个对应的分割函数,从若干个所述分割函数中随机挑选出一个分割函数,根据挑选出的分割函数将密码分割成为N个子密码。
如图3所示,作为本发明一个优选的实施例,所述确定第一个、第二个、…以及第N个哈希子值对应的序列号的步骤,具体包括:
S301,依次将第一个、第二个、…以及第N个哈希子值输入至序列号库中,所述序列号库包括所有的哈希子值,每个哈希子值对应一个序列号;
S302,根据哈希子值确定对应的序列号,判定序列号是否出现重复;
S303,当后来确定的序列号与之前确定的序列号重复时,在后来确定的序列号后添加顺序数,序列号被更新,使得第一个、第二个、…以及第N个哈希子值对应的序列号均不相同。
本发明实施例中,事先建立有序列号库中,所述序列号库包括所有的哈希子值,每个哈希子值对应一个序列号,例如N为4,哈希二进制序列值的位数为16位,则每个哈希子值的位数为4位,这时所有的哈希子值就有2*2*2*2等于16种情况,序列号就有16个,例如当哈希子值为1101时,对应的序列号为85,另外,假设第四个、第三个和第二个哈希子值都为1101时,不同子密码上标记的序列号就会相同,无法确定三者的相对位置,即当后来确定的序列号与之前确定的序列号重复时,在后来确定的序列号后添加顺序数,序列号被更新,此时第二个哈希子值对应的序列号为85,第三个哈希子值对应的序列号为85-2,第四个哈希子值对应的序列号为85-3,这样就会使得第一个、第二个、…以及第N个哈希子值对应的序列号均不相同。
如图4所示,作为本发明一个优选的实施例,所述在每个子密码上标记对应的序列号的步骤,具体包括:
S401,确定第M个子密码,确定第M个哈希子值对应的序列号,将所述序列号标记在所述子密码上;
S402,重复上一步骤,使得M遍历1至N,所述子密码上的序列号标记结束。
本发明实施例中,根据分割函数将密码分割成为N个子密码,按照前后分割的顺序就会得到第一个、第二个、…以及第N个子密码,哈希子值也是同理。然后依次确定第一个子密码,并确定第一个哈希子值对应的序列号,将所述序列号标记在所述子密码上;确定第二个子密码,并确定第二个哈希子值对应的序列号,将所述序列号标记在所述子密码上;确定第三个子密码,并确定第三个哈希子值对应的序列号,将所述序列号标记在所述子密码上,以此类推,直到所有的子密码上都标记有序列号。
如图5所示,作为本发明一个优选的实施例,所述方法还包括对用户账号和密码进行验证,具体步骤为:
S501,接收用户输入的用户账号和密码,对所述用户账号进行哈希运算得到哈希二进制序列值;
S502,从N个密码库中获取N个标记有所述哈希二进制序列值的子密码;
S503,将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号;
S504,根据所述子密码上的序列号标记,对N个子密码进行排列得到整合密码,将整合密码与用户输入的密码进行比对验证。
本发明实施例中,当检测到用户输入用户账号和密码时,会对所述用户账号进行哈希运算得到哈希二进制序列值,并从N个密码库中获取N个标记有所述哈希二进制序列值的子密码;同时将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号,确定方法前述步骤相同,根据所述子密码上的序列号标记,对N个子密码进行一定顺序的排列就可以得到整合密码,将整合密码与用户输入的密码进行比对验证,就能够知道用户输入用户账号和密码是否正确了。
如图6所示,本发明实施例还提供了一种密码安全存储***,所述***包括:
哈希序列值确定模块100,用于获取用户账号和密码,对用户账号进行哈希运算得到哈希二进制序列值;
密码分割标记模块200,用于根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上标记所述哈希二进制序列值;
序列号确定模块300,用于将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号;
子密码分散存储模块400,用于在每个子密码上标记对应的序列号,将N个子密码分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同,N为正整数,且N为定值。
本发明实施例中,用户注册用户账号和密码后,会对用户账号进行哈希运算得到哈希二进制序列值,哈希运算是将任意长度的二进制值映射为固定长度的二进制值,所述哈希二进制序列值的具体长度可以事先设定,这样每个用户账号经过哈希运算后都会得到长度相同的哈希二进制序列值;接着根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上都标记上所述哈希二进制序列值,以表明这N个子密码与所述用户账号相对应,N为正整数,且N为定值,另外,哈希二进制序列值的长度值是N的整数倍,然后将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号,然后在每个子密码上标记对应的序列号,这样就能够知道每个子密码之间的顺序关系,最后将N个子密码随机分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同。如此,即使某个密码库被网络攻击者发现并破解,网络攻击者也不会得到任何一个完整的密码;即使N个密码库均被网络攻击者发现并破解,获取N个子密码,网络攻击者也无法得知这N个子密码所对应的用户账号,更无法得知这N个子密码之间的排列关系,不能够得到完整的密码,安全性极高。
如图7所示,作为本发明一个优选的实施例,所述密码分割标记模块200包括:
密码位数输入单元201,用于确定密码位数,将密码位数输入至分割函数库中,所述分割函数库包括各种待分割总位数,每个待分割总位数对应若干个分割函数;
分割函数确定单元202,用于将密码位数与待分割总位数进行匹配,确定若干个分割函数,从若干个所述分割函数中随机挑选出一个分割函数;
子密码确定单元203,用于根据挑选出的分割函数将密码分割成为N个子密码。
如图8所示,作为本发明一个优选的实施例,所述序列号确定模块300包括:
哈希子值输入单元301,用于依次将第一个、第二个、…以及第N个哈希子值输入至序列号库中,所述序列号库包括所有的哈希子值,每个哈希子值对应一个序列号;
序列号判定单元302,用于根据哈希子值确定对应的序列号,判定序列号是否出现重复;
顺序数添加单元303,当后来确定的序列号与之前确定的序列号重复时,在后来确定的序列号后添加顺序数,序列号被更新,使得第一个、第二个、…以及第N个哈希子值对应的序列号均不相同。
本发明实施例还提供了一种计算机设备,包括显示屏、存储器、处理器以及计算机程序,其中所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述密码安全存储方法中的步骤。
本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述密码安全存储方法中的步骤。
以上仅对本发明的较佳实施例进行了详细叙述,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实施例处的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (7)
1.一种密码安全存储方法,其特征在于,所述方法包括以下步骤:
获取用户账号和密码,对用户账号进行哈希运算得到哈希二进制序列值;
根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上标记所述哈希二进制序列值;
将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号,哈希二进制序列值的长度值是N的整数倍;
在每个子密码上标记对应的序列号,将N个子密码分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同,N为正整数,且N为定值;
所述确定第一个、第二个、…以及第N个哈希子值对应的序列号的步骤,具体包括:
依次将第一个、第二个、…以及第N个哈希子值输入至序列号库中,所述序列号库包括所有的哈希子值,每个哈希子值对应一个序列号;
根据哈希子值确定对应的序列号,判定序列号是否出现重复;
当后来确定的序列号与之前确定的序列号重复时,在后来确定的序列号后添加顺序数,序列号被更新,使得第一个、第二个、…以及第N个哈希子值对应的序列号均不相同;
所述在每个子密码上标记对应的序列号的步骤,具体包括:
确定第M个子密码,确定第M个哈希子值对应的序列号,将所述序列号标记在所述子密码上;
重复上一步骤,使得M遍历1至N,所述子密码上的序列号标记结束。
2.根据权利要求1所述的密码安全存储方法,其特征在于,所述根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码的步骤,具体包括:
确定密码位数,将密码位数输入至分割函数库中,所述分割函数库包括各种待分割总位数,每个待分割总位数对应若干个分割函数;
将密码位数与待分割总位数进行匹配,确定若干个分割函数,从若干个所述分割函数中随机挑选出一个分割函数;
根据挑选出的分割函数将密码分割成为N个子密码。
3.根据权利要求1所述的密码安全存储方法,其特征在于,所述方法还包括对用户账号和密码进行验证,具体步骤为:
接收用户输入的用户账号和密码,对所述用户账号进行哈希运算得到哈希二进制序列值;
从N个密码库中获取N个标记有所述哈希二进制序列值的子密码;
将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号;
根据所述子密码上的序列号标记,对N个子密码进行排列得到整合密码,将整合密码与用户输入的密码进行比对验证。
4.一种密码安全存储***,其特征在于,所述***包括:
哈希序列值确定模块,用于获取用户账号和密码,对用户账号进行哈希运算得到哈希二进制序列值;
密码分割标记模块,用于根据密码的位数随机生成分割函数,根据所述分割函数将密码分割成为N个子密码,在每个子密码上标记所述哈希二进制序列值;
序列号确定模块,用于将哈希二进制序列值均分为N份,得到N个哈希子值,确定第一个、第二个、…以及第N个哈希子值对应的序列号,哈希二进制序列值的长度值是N的整数倍;
子密码分散存储模块,用于在每个子密码上标记对应的序列号,将N个子密码分散并加密存储至N个密码库,N个密码库设置的加密密码均不相同,N为正整数,且N为定值;
所述序列号确定模块包括:
哈希子值输入单元,用于依次将第一个、第二个、…以及第N个哈希子值输入至序列号库中,所述序列号库包括所有的哈希子值,每个哈希子值对应一个序列号;
序列号判定单元,用于根据哈希子值确定对应的序列号,判定序列号是否出现重复;
顺序数添加单元,当后来确定的序列号与之前确定的序列号重复时,在后来确定的序列号后添加顺序数,序列号被更新,使得第一个、第二个、…以及第N个哈希子值对应的序列号均不相同;
所述在每个子密码上标记对应的序列号的步骤,具体包括:
确定第M个子密码,确定第M个哈希子值对应的序列号,将所述序列号标记在所述子密码上;
重复上一步骤,使得M遍历1至N,所述子密码上的序列号标记结束。
5.根据权利要求4所述的密码安全存储***,其特征在于,所述密码分割标记模块包括:
密码位数输入单元,用于确定密码位数,将密码位数输入至分割函数库中,所述分割函数库包括各种待分割总位数,每个待分割总位数对应若干个分割函数;
分割函数确定单元,用于将密码位数与待分割总位数进行匹配,确定若干个分割函数,从若干个所述分割函数中随机挑选出一个分割函数;
子密码确定单元,用于根据挑选出的分割函数将密码分割成为N个子密码。
6.一种计算机设备,其特征在于,包括显示屏、存储器、处理器以及计算机程序,其中所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-3任一项权利要求所述密码安全存储方法中的步骤。
7.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1-3任一项权利要求所述密码安全存储方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310728762.2A CN116467754B (zh) | 2023-06-20 | 2023-06-20 | 一种密码安全存储***、方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310728762.2A CN116467754B (zh) | 2023-06-20 | 2023-06-20 | 一种密码安全存储***、方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116467754A CN116467754A (zh) | 2023-07-21 |
CN116467754B true CN116467754B (zh) | 2023-10-10 |
Family
ID=87184678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310728762.2A Active CN116467754B (zh) | 2023-06-20 | 2023-06-20 | 一种密码安全存储***、方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467754B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117156138B (zh) * | 2023-10-31 | 2024-02-09 | 季华实验室 | 图像的不定长深度哈希编码方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6959394B1 (en) * | 2000-09-29 | 2005-10-25 | Intel Corporation | Splitting knowledge of a password |
CN101939946A (zh) * | 2008-01-07 | 2011-01-05 | 安全第一公司 | 使用多因素或密钥式分散对数据进行保护的***和方法 |
CN103959302A (zh) * | 2011-06-01 | 2014-07-30 | 安全第一公司 | 用于安全分布式存储的***与方法 |
CN104135371A (zh) * | 2014-08-18 | 2014-11-05 | 杭州华三通信技术有限公司 | 一种密码保存方法及装置 |
CN104683301A (zh) * | 2013-11-28 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种密码保存的方法及装置 |
JP2017182377A (ja) * | 2016-03-30 | 2017-10-05 | 日本電気株式会社 | 情報処理装置、制御方法、及びプログラム |
CN111917535A (zh) * | 2020-06-30 | 2020-11-10 | 山东信通电子股份有限公司 | 一种数据加密存储方法、装置及服务器 |
CN113806730A (zh) * | 2021-09-18 | 2021-12-17 | 北京安天网络安全技术有限公司 | 一种安全密码输入方法、***、设备及介质 |
KR20220079751A (ko) * | 2020-12-04 | 2022-06-14 | 충북대학교 산학협력단 | 외부 스토리지를 이용한 블록체인 기반의 스마트 계약 시스템 및 방법 |
CN115022007A (zh) * | 2022-05-30 | 2022-09-06 | 中国银行股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
-
2023
- 2023-06-20 CN CN202310728762.2A patent/CN116467754B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6959394B1 (en) * | 2000-09-29 | 2005-10-25 | Intel Corporation | Splitting knowledge of a password |
CN101939946A (zh) * | 2008-01-07 | 2011-01-05 | 安全第一公司 | 使用多因素或密钥式分散对数据进行保护的***和方法 |
CN103959302A (zh) * | 2011-06-01 | 2014-07-30 | 安全第一公司 | 用于安全分布式存储的***与方法 |
CN104683301A (zh) * | 2013-11-28 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种密码保存的方法及装置 |
CN104135371A (zh) * | 2014-08-18 | 2014-11-05 | 杭州华三通信技术有限公司 | 一种密码保存方法及装置 |
JP2017182377A (ja) * | 2016-03-30 | 2017-10-05 | 日本電気株式会社 | 情報処理装置、制御方法、及びプログラム |
CN111917535A (zh) * | 2020-06-30 | 2020-11-10 | 山东信通电子股份有限公司 | 一种数据加密存储方法、装置及服务器 |
KR20220079751A (ko) * | 2020-12-04 | 2022-06-14 | 충북대학교 산학협력단 | 외부 스토리지를 이용한 블록체인 기반의 스마트 계약 시스템 및 방법 |
CN113806730A (zh) * | 2021-09-18 | 2021-12-17 | 北京安天网络安全技术有限公司 | 一种安全密码输入方法、***、设备及介质 |
CN115022007A (zh) * | 2022-05-30 | 2022-09-06 | 中国银行股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116467754A (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944751B2 (en) | Generating cryptographic function parameters from compact source code | |
CN109510703B (zh) | 一种数据加解密方法及装置 | |
CN100342713C (zh) | 用于保证软件更新的方法 | |
US8175268B2 (en) | Generating and securing archive keys | |
CN116467754B (zh) | 一种密码安全存储***、方法、计算机设备及存储介质 | |
US10361844B2 (en) | Generating cryptographic function parameters based on an observed astronomical event | |
CN105635144A (zh) | 基于云平台服务器的数据处理方法及*** | |
US10079675B2 (en) | Generating cryptographic function parameters from a puzzle | |
CN110929291A (zh) | 一种存取文本文件的方法、装置和计算机可读存储介质 | |
US11128455B2 (en) | Data encryption method and system using device authentication key | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN110011959B (zh) | 数据存储方法、数据查询方法和*** | |
CN116680673B (zh) | 显示器的身份校验方法、装置以及计算机设备 | |
US8862893B2 (en) | Techniques for performing symmetric cryptography | |
KR102132685B1 (ko) | 순서 노출 암호화를 위한 장치 및 방법 | |
CN117692134A (zh) | 密钥更新管理***和密钥更新管理方法 | |
CN115001700B (zh) | 一种基于区块链的生态环境监管方法及*** | |
US20210143978A1 (en) | Method to secure a software code performing accesses to look-up tables | |
CN114124469A (zh) | 数据处理的方法、装置和设备 | |
CN114201774A (zh) | 主键加密方法、主键解密方法、电子设备及存储介质 | |
CN110516457B (zh) | 一种数据存储方法及读取方法、存储设备 | |
Gorbenko et al. | Analysis of Potential Post-Quantum Schemes of Hash-Based Digital Signatur | |
CN116633542B (zh) | 一种数据加密方法及*** | |
KR20200089832A (ko) | 신뢰기관이 없는 다중 클라이언트 환경의 순서 노출 암호화를 위한 장치 및 방법 | |
US11568070B2 (en) | Secure access control processes |
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 |