CN104348609B - 一种非存储的密码管理算法 - Google Patents

一种非存储的密码管理算法 Download PDF

Info

Publication number
CN104348609B
CN104348609B CN201410478762.2A CN201410478762A CN104348609B CN 104348609 B CN104348609 B CN 104348609B CN 201410478762 A CN201410478762 A CN 201410478762A CN 104348609 B CN104348609 B CN 104348609B
Authority
CN
China
Prior art keywords
password
user
dictionary
domain name
character
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
Application number
CN201410478762.2A
Other languages
English (en)
Other versions
CN104348609A (zh
Inventor
熊方磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Xishanju Interactive Entertainment Technology Co Ltd
Original Assignee
Chengdu Xishanju Interactive Entertainment Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Xishanju Interactive Entertainment Technology Co Ltd filed Critical Chengdu Xishanju Interactive Entertainment Technology Co Ltd
Priority to CN201410478762.2A priority Critical patent/CN104348609B/zh
Publication of CN104348609A publication Critical patent/CN104348609A/zh
Application granted granted Critical
Publication of CN104348609B publication Critical patent/CN104348609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种非存储的密码管理算法,包括以下步骤:S1:用户注册时后台服务器记录用户的密匙、域名、密码格式并为用户生成salt值;S2:对用户密钥+域名+密码格式+salt值进行md5加密;S3:对加密值进行移位并分3段进行截取;S4:自定义字符字典、数字字典和符号字典;S5:根据用户需要的密码的位数,截取S3得到的加密字符串并按照S4定义的字典匹配,得到密码;S6:用户再次登录时,登录密码生成网站,输入密匙、域名和密码格式,后台服务器重复S1~S5,得到密码。本发明的整个密码加密算法是不可逆的,能够降低密码被破解的风险,用户只需要记住一个KEY就能管理无数密码,使用方便且风险低。

Description

一种非存储的密码管理算法
技术领域
本发明涉及一种密码管理算法,特别涉及一种非存储的密码管理算法。
背景技术
如何管理我们越来越多的密码是上网用户越来越重视的问题,大家可能都有这样的感受,就是不爱记忆太多的密码,所以大部分的网站或者应用都用了同一个密码,例如淘宝的,京东的,QQ的等等。很多人都没有对密码的安全意识,所有网站的密码都设一样。如果所有应用的密码都用一个,任何一个被盗,黑客不仅可以进入邮箱,而且可以进入QQ、MSN等及时聊天系统,甚至淘宝,京东,支付宝,微信这些信息都将被获取,从而获得更多的私人关系和关心网信息,这也就是为什么会有那么多利用QQ进行诈骗亲朋好友的案例,给用户造成了许多不可挽回的损失。
因此为了账户安全和个人信息的保密,建议用户尽量不要使用相同的密码,特别是重要的如银行账户之类的,一定要谨慎。但随着用户使用的网站门户越来越多,密码也越来越繁琐和复杂,为了记录和管理不同的密码,很多用户将密码采用第三方工具进行存储管理,而将密码存储于第三方工具,用户也得自行承担风险。
现在通用的密码进行hash加密,比如md5之类的可以比较有效的防止被破译,但是如果直接对密码进行hash,那么黑客可以对一个已知密码进行散列,然后通过对比散列值得到某用户的密码。换句话说,虽然黑客不能取得某特定用户的密码,但他可以知道使用特定密码的用户有哪些,仍然存在很大的风险。
发明内容
本发明的目的在于克服现有技术的不足,提供一种密码加密算法不可逆,能够有效降低密码被破解的风险,用户只需要记住一个KEY就能管理无数密码,既能保证不同的网站使用不同的密码,提高安全性,又能降低使用第三方工具带来的风险的非存储的密码管理算法。
本发明的目的是通过以下技术方案来实现的:一种非存储的密码管理算法,包括以下步骤:
S1:用户注册时后台服务器记录用户的密匙、域名、密码并为用户生成salt值;
S2:对获取的用户密钥+域名+密码+salt值进行md5加密;
S3:对md5加密值进行移位,并分3段进行截取;
S4:自定义字符字典、数字字典和符号字典;
S5:生成不同格式的密码:根据用户需要的密码的位数,截取步骤S3得到的加密字符串,并对截取的加密字符串按照步骤S4中定义的字符字典、数字字典或符号字典进行匹配,得到密码;
S6:用户再次登录已注册过的网站或应用时,登录密码生成网站,输入密匙、域名和密码,后台服务器重复步骤S1~S5的操作,得到用户的注册时生成的密码。
进一步地,所述的步骤S1中的密钥由用户自己填写,作为获取密码的唯一标识,密钥设置为超过11位的数字+英文大小写+特殊符号;
所述的域名是由用户填写具体的网站,用户还能通过在域名后面添加字符来对域名进行改造,生成自己的域名密码;
所述的密码是由用户根据具体的场景生成的相应的密码;
所述的salt值在代码算法中定义,任何人都不可见,用于防止后台算法被破解,由数字+英文字母大写+英文字母小写+特殊符号组成的64位字符串。
进一步地,所述的步骤S2中md5加密的具体方法为:对获取的用户密钥+域名+密码格式+salt值采用国际通用的md5散列算法进行加密,得到一串由0~9和a~f组成的32位字符串。
进一步地,所述的步骤S3中移位的具体方法为:统计md5加密值中字母的数量,记为n,然后对整个加密值左移或右移n位。
进一步地,所述的步骤S4中自定义字符字典的方法为:将0~9和a~f转换为英文大写字母或者小写字母,转换前的0~9、a~f与转换后的英文字母具有一一对应关系;
自定义数字字典的方法为:将0~9和a~f转换为数字0~9;
自定义符号字典的方法为:将0~9和a~f转换为特殊符号,转换前的0~9、a~f与转换后的特殊符号具有一一对应关系。
本发明的有益效果是:
1、从获取用户密匙、域名、密码格式,自定义salt值,再到进行md5加密、移位、分段截取,自定义字符字典、数字字典和符号字典,到最后的生成用户需要的密码,整个密码加密算法是不可逆的,能够有效降低密码被破解的风险,而且整个过程中不存储用户信息,即使密码被破解也能降低用户信息泄露的风险;
2、用户只需要记住一个KEY就能管理无数密码,由于每个应用或网站的域名都是独一无二的,因此密码不会出现重复或相同的情形,既能保证不同的网站使用不同的密码,提高安全性,又能降低使用第三方工具带来的风险;
3、所有的加密算法都是在后台服务器进行的,所有算法对外不可见,降低了密码被破译的风险;
4、支持WEB,Android,IOS等所有平台,能够进行推广使用。
附图说明
图1为本发明的用户注册界面示意图。
具体实施方式
salt这个“佐料”也就是在对密码进行hash(散列算法)时,添加的一个随机数。其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比较散列值,以确定密码是否正确。因为salt值是系统随机生成的,即使两个用户用了相同的密码,他们的hash值也不一样,黑客找出密码的几率大大减小了(必须是密码和自己生成的散列值都跟用户相同,这个概率很低了)。下面结合附图和具体实施例进一步说明本发明的技术方案,但本发明所保护的内容不局限于以下所述。
本发明的一种非存储的密码管理算法包括以下步骤:
S1:如图1所示,用户注册时后台服务器记录用户的密匙、域名、密码并为用户生成salt值;
S2:对获取的用户密钥+域名+密码+salt值进行md5加密;
S3:对md5加密值进行移位,并分3段进行截取;
S4:自定义字符字典、数字字典和符号字典;
S5:生成不同格式的密码:根据用户需要的密码的位数,截取步骤S3得到的加密字符串,并对截取的加密字符串按照步骤S4中定义的字符字典、数字字典或符号字典进行匹配,得到密码;
S6:用户再次登录已注册过的网站或应用时,登录密码生成网站,输入密匙、域名和密码,后台服务器重复步骤S1~S5的操作,得到用户的注册时生成的密码。
本实施例所述的步骤S1中用户登录网页或者手机APP之后会看到如图1所示的输入框,其中,密钥由用户自己填写,作为获取密码的唯一标识,密钥设置为超过11位的数字+英文大小写+特殊符号,例如:2014abcD@)!$;
所述的域名是由用户填写具体的网站,用户还能通过在域名后面添加字符来对域名进行改造,生成自己的域名密码;例如用户想生成自己淘宝的密码,可以输入taobao,后台服务器会自动填充www.taobao.com,用户想生成自己百度的密码,可以输入www.baidu.com等等;用户还能对域名做个改造,比如在com后面添加自己想添加的字符,例如张三,可以设置为www.taobao.comzs,这样的好处是,哪怕密钥丢失用户的taobao密码也不会丢失;
所述的密码是由用户根据具体的场景生成的相应的密码,因为互联网上各个场景需要的密码格式可能不一样,有些网站只能输入数字,有些不能输入符号等等。用户能根据具体的场景生成相应的密码。
所述的salt值在代码算法中定义,任何人都不可见,用于防止后台算法被破解,由数字+英文字母大写+英文字母小写+特殊符号组成的64位字符串,这样做的好处能使生成的密码安全级别相当高,当前最好的超级计算机想破解时间系数都为几年。
本实施例所述的步骤S2中md5加密的具体方法为:对获取的用户密钥+域名+密码格式+salt值采用国际通用的md5散列算法进行加密,得到一串由0~9和a~f组成的32位字符串,例如:202cb962ac59075b964b07152d234b70。
得到md5值之后,先对该值做移位处理,虽然md5理论上不可能破解,但是还是需要防止反查。为了规避这种风险,采用步骤S3进行移位处理,其具体方法为:统计md5加密值中字母的数量,记为n,然后对整个加密值左移或右移n位。
例如
202cb962ac59075b964b07152d234b70移位之后变为:
ac59075b964b07152d234b70202cb962
因为Md5字符为32位,用不到这么多位,所以通过程序分三段截取Md5值,例如分别为[3,12][9,18][27,36]:
202cb962ac59075b964b07152d234b70分段之后变为:
9075b964b64b07152d34b70202c
因为用户最后需要的是字母大小写,特殊符号或者数字,所以这里是算法的关键,本发明用到了数据字典、字符字典和符号字典:将md5的字符(0~9、a~f)通过字典转换为用户需要的密码。进一步地,所述的步骤S4中自定义字符字典的方法为:将0~9和a~f转换为英文大写字母或者小写字母,转换前的0~9、a~f与转换后的英文字母具有一一对应关系;
自定义数字字典的方法为:将0~9和a~f转换为数字0~9;
自定义符号字典的方法为:将0~9和a~f转换为特殊符号,转换前的0~9、a~f与转换后的特殊符号具有一一对应关系。下面分别为本实施例采用的字符字典、数字字典和符号字典的定义方法:
例如md5值为012……def
通过数字字典将转换为743……823;
通过字符字典将转换为mph……sqx;
通过符号字典将转换为!{$……#&@;
通过步骤S3得到了基本不可能被破解的唯一加密字符串,通过步骤S4得到了字符定义表;如果用户此时需要“数字+字母大小写+特殊符号”的12位密码,先截取通过步骤S3得到的加密字符串,比如截取3-12位,将得到:5b964b64b071,将得到的字符分为3段分别为:
5b96 4b64b071
再通过步骤S4得到的数据字典、字符字典和符号字典对三段字符做匹配,将得到(只举例说明第一段):5b96
5对应的数字字典:7;
b对应的字符字典:j;
9对应的符号字典::;
6对应的字符字典:u;
最后得到的密码为:7j:u,其余8位类推,最终得到用户需要的密码。
本发明的算法中,用户只需要记住一个密匙,而网站或应用可以是无数个,每个网站或应用都有独一无二的域名,这样使用一个密匙就能生成无数个不相同的密码,确保用户的每个密码都不一样,而用户只需记住一个密匙即可,使用方便。当需要登录注册过的网站或应用时,用户登录密码生成网站,输入密匙和想要登录的网站或应用即可,后台服务器会自动填充网站或应用的完整域名,密码格式可以选为默认的,然后后台服务器采用跟用户注册时同样的算法获得注册时生成的密码,用户在打开需要登录的网站或应用,输入密码进行登录。
我们大部份密码泄漏都是在非官方网站输入了密码所致,而本发明的密匙的使用场景只有一个:只需要在密码生成网站上用,大大的提高了安全性。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (5)

1.一种非存储的密码管理算法,其特征在于,包括以下步骤:
S1:用户注册时后台服务器记录用户的密匙、域名、密码并为用户生成salt值;
S2:对获取的用户密钥+域名+密码+salt值进行md5加密;
S3:对md5加密值进行移位,并分3段进行截取;
S4:自定义字符字典、数字字典和符号字典;
S5:生成不同格式的密码:根据用户需要的密码的位数,截取步骤S3得到的加密字符串,并对截取的加密字符串按照步骤S4中定义的字符字典、数字字典或符号字典进行匹配,得到密码;
S6:用户再次登录已注册过的网站或应用时,登录密码生成网站,输入密匙、域名和密码,后台服务器重复步骤S1~S5的操作,得到用户的注册时生成的密码。
2.根据权利要求1所述的一种非存储的密码管理算法,其特征在于,所述的步骤S1中的密钥由用户自己填写,作为获取密码的唯一标识,密钥设置为超过11位的数字+英文大小写+特殊符号;
所述的域名是由用户填写具体的网站,用户还能通过在域名后面添加字符来对域名进行改造,生成自己的域名密码;
所述的密码是由用户根据具体的场景生成的相应的密码;
所述的salt值在代码算法中定义,任何人都不可见,用于防止后台算法被破解,由数字+英文字母大写+英文字母小写+特殊符号组成的64位字符串。
3.根据权利要求1所述的一种非存储的密码管理算法,其特征在于,所述的步骤S2中md5加密的具体方法为:对获取的用户密钥+域名+密码格式+salt值采用国际通用的md5散列算法进行加密,得到一串由0~9和a~f组成的32位字符串。
4.根据权利要求1所述的一种非存储的密码管理算法,其特征在于,所述的步骤S3中移位的具体方法为:统计md5加密值中字母的数量,记为n,然后对整个加密值左移或右移n位。
5.根据权利要求3所述的一种非存储的密码管理算法,其特征在于,所述的步骤S4中自定义字符字典的方法为:将0~9和a~f转换为英文大写字母或者小写字母,转换前的0~9、a~f与转换后的英文字母具有一一对应关系;
自定义数字字典的方法为:将0~9和a~f转换为数字0~9;
自定义符号字典的方法为:将0~9和a~f转换为特殊符号,转换前的0~9、a~f与转换后的特殊符号具有一一对应关系。
CN201410478762.2A 2014-09-18 2014-09-18 一种非存储的密码管理算法 Active CN104348609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410478762.2A CN104348609B (zh) 2014-09-18 2014-09-18 一种非存储的密码管理算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410478762.2A CN104348609B (zh) 2014-09-18 2014-09-18 一种非存储的密码管理算法

Publications (2)

Publication Number Publication Date
CN104348609A CN104348609A (zh) 2015-02-11
CN104348609B true CN104348609B (zh) 2017-06-06

Family

ID=52503495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410478762.2A Active CN104348609B (zh) 2014-09-18 2014-09-18 一种非存储的密码管理算法

Country Status (1)

Country Link
CN (1) CN104348609B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292992A (zh) * 2015-09-04 2018-07-17 慧与发展有限责任合伙企业 利用密钥和推导参数进行密码生成
CN105897412A (zh) * 2015-12-15 2016-08-24 乐视网信息技术(北京)股份有限公司 一种网站密码生成方法及装置
CN105959099A (zh) * 2016-06-20 2016-09-21 浪潮电子信息产业股份有限公司 一种实现ssr密码加密的方法
CN107257349A (zh) * 2017-07-27 2017-10-17 四川长虹电器股份有限公司 基于单向和公钥加密算法的密码加密方法与系统
CN108696499A (zh) * 2018-03-22 2018-10-23 中国银联股份有限公司 用于管理密码的方法、装置和计算机存储介质
CN108965472B (zh) * 2018-08-23 2020-11-20 珠海格力电器股份有限公司 一种账号信息推送的方法和设备
CN111064560B (zh) * 2018-10-17 2023-07-18 千寻位置网络有限公司 数据加密传输方法及装置、终端、数据加密传输系统
CN110516462B (zh) * 2019-08-30 2021-12-07 京东数字科技控股有限公司 用于加密数据的方法和装置
CN110944006A (zh) * 2019-12-10 2020-03-31 浙江清华长三角研究院 一种提供匿名保护的密码黑名单查询方法及其应用
CN111859369A (zh) * 2020-07-29 2020-10-30 浪潮云信息技术股份公司 一种密码自动化统一管理的系统及方法
CN113078999A (zh) * 2021-04-13 2021-07-06 傲普(上海)新能源有限公司 一种密码安全加密保存方式
CN116760546B (zh) * 2023-08-18 2023-10-31 湖南省通信建设有限公司 基于云环境的模块化密码服务方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206815A (zh) * 2006-12-19 2008-06-25 株式会社富士通Bsc 加密处理、加密装置和存储加密程序的计算机可读介质
CN103825723A (zh) * 2014-01-24 2014-05-28 深圳市太和物联信息技术有限公司 一种加密方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2828607B1 (fr) * 2001-08-07 2004-01-30 Centre Nat Rech Scient Procede de securisation de bases de donnees

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206815A (zh) * 2006-12-19 2008-06-25 株式会社富士通Bsc 加密处理、加密装置和存储加密程序的计算机可读介质
CN103825723A (zh) * 2014-01-24 2014-05-28 深圳市太和物联信息技术有限公司 一种加密方法和装置

Also Published As

Publication number Publication date
CN104348609A (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN104348609B (zh) 一种非存储的密码管理算法
US11206256B2 (en) Table-connected tokenization
US8140855B2 (en) Security-enhanced log in
US8918849B2 (en) Secure user credential control
CN106161006B (zh) 一种数字加密算法
CN103491062B (zh) 一种生成密码的方法和装置
CN103888468B (zh) 云环境下基于可信第三方属性模糊分组的隐私保护方法
US10068106B2 (en) Tokenization column replacement
CN103685149B (zh) 处理登陆服务器的密码的方法和装置
Kharod et al. An improved hashing based password security scheme using salting and differential masking
CN105491069B (zh) 云存储中基于抵抗主动攻击的完整性验证方法
Razvi et al. Implementation of graphical passwords in internet banking for enhanced security
Chithra et al. Pristine PixCaptcha as graphical password for secure eBanking using Gaussian elimination and cleaves algorithm
Tiwari et al. A novel watermarking scheme for secure relational databases
Tan et al. Securing mHealth applications with grid-based honey encryption
CN101335623A (zh) 一种采用口令变换的网络身份认证方法
Sarga et al. User-Side Password Authentication: A Study
Biocco et al. Grid framework to address password memorability issues and offline password attacks
Lo Empirical study of secure password creation habit
Kaleem Securing Credentials from SQL Injection Attack Using Encryption and Hashing
Qian et al. Password Generator and Storage
Mahansaria et al. Secure Authentication Using One Time Contextual QR Code
CN103873226A (zh) 针对用户密码的随机混淆方法
Sahu et al. Varying password based scheme for user authentication
Ogdol et al. Enhancing cybersecurity through blockchain technology

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant