一种基于对密码使用哈希算法加密防碰撞的方法技术

技术编号:19702342 阅读:24 留言:0更新日期:2018-12-08 14:10
本发明专利技术提供了一种基于对密码使用哈希算法加密防碰撞的方法,属于密码编码技术领域,通过在客户端平台和网站服务端,对用户名、密码和注册时间进行两次哈希算法,使得网站服务端和存储端不再保存明文方式的用户信息,从而防止了黑客盗取明文密码的可能;本发明专利技术不仅不会改变用户设定密码习惯,而且也不会对网站服务端和存储端带来信息管理不变,即保证了用户隐私和客户体验,又保证了网站安全。

【技术实现步骤摘要】
一种基于对密码使用哈希算法加密防碰撞的方法
本专利技术涉及密码编码领域,尤其设计一种基于对密码使用哈希算法加密防碰撞的方法。
技术介绍
数字社会,用户已经离不开互联网。人们根据不同生活和生产需求,访问不同网站,首先必须注册个人信息。不过,由于网站众多,人们不可能完全记得所有当时注册个人信息,因此一般将访问主要网站的个人信息,特别是用户名和密码,在不同网站重复注册;而且对密码设定,采取非常简单数字重复和顺序输入方式。由于现在大部分网站,对用户注册个人信息的处理方式,是采取明文方式存储在网站服务器和存储端。根据统计,黑客盗取用户个人信息主要都是通过攻破主要网站的服务器,从而获得成批量的个人信息;而通过偷窥个人电脑获取个人信息的方式,由于其低效率和高风险特征,黑客基本不再采用。因此,根据客户在不同网站注册个人信息的习惯,黑客可以将盗取的主要网站的个人信息,在不同网站,特别是支付功能网站、游戏平台、社交平台、网银平台、股票平台等,进行用户名和密码尝试输入,当自动多次输入即多次碰撞后,存在正常登陆可能。此时,用户信息甚至数字财富,就有被盗风险。
技术实现思路
为了克服网站对个人信息管理存在的风险,本专利技术提供了一种基于对密码使用哈希算法加密防碰撞的方法,通过两次哈希算法,使得网站服务端和存储端不再保存明文方式的用户信息,从而防止了黑客盗取明文密码的可能。为了实现上述目的,本专利技术采用以下技术方案:一种基于对密码使用哈希算法加密防碰撞的方法,包括以下步骤:S1:用户在客户端平台注册,设定注册用户名和密码;S2:所述客户端平台将所述密码,采用慢哈希算法进行加密,形成一个字符串P;S3:所述客户端平台将所述注册用户名和所述字符串P提交到服务端;S4:所述服务端确认得到所述注册用户名和所述字符串P;S5:所述服务端将所述字符串P与所述注册用户名、注册时间进行字符串拼接,形成字符串A;S6:所述服务端将所述字符串A,按照安全散列哈希算法进行加密,形成字符串B;S7:所述服务端将所述注册用户名、所述字符串B和所述注册时间,作为注册信息,分别存储到存储端数据库。优选地,所述慢哈希算法采用bcrypt5,所述安全散列哈希算法采用SHA-512。优选地,所述字符串拼接,采用顺序拼接的方式,将所述字符串P、所述注册用户名和所述注册时间排列。优选地,所述慢哈希算法,是由所述客户端平台的脚本程序执行。优选地,还包括以下步骤:S8:所述用户访问所述客户端平台,输入所述注册用户名和所述密码;S9:所述客户端平台将所述密码,采用所述慢哈希算法进行加密,形成字符串P1;S10:所述客户端平台将所述注册用户名、所述字符串P1提交到所述服务端;S11:所述服务端确认得到所述注册用户名、所述字符串P1;S12:所述服务端将所述注册用户名提交到所述存储端数据库;S13:所述存储端数据库根据所述注册用户名,检索出所述注册信息;S14:所述服务端将所述字符串P1与所述注册用户名、所述注册时间进行字符串拼接,形成字符串A1;S15:所述服务端将所述字符串A1,按照所述安全散列哈希算法进行加密,形成字符串B1;S16:所述服务端将所述字符串B1,提交给所述存储端数据库。所述存储端数据库将所述字符串B1和所述字符串B进行对比,如果对比完全相同,所述用户访问为正常状态;如果短时间对比不一致的次数超过N次,所述存储端数据库对所述注册用户名进行锁定,所述用户访问为异常状态。优选地,所述慢哈希算法采用bcrypt5,所述安全散列哈希算法采用SHA-512。优选地,所述字符串拼接,采用顺序拼接的方式,将所述字符串P1、所述注册用户名和所述注册时间排列。优选地,所述慢哈希算法,是由所述客户端平台的脚本程序执行,并且所述脚本程序,可以根据所述注册用户名和所述密码的输入频率,动态调整所述慢哈希算法的时间长度。与现有技术相比,本技术方案的有益效果是:通过在客户端平台和网站服务端,对用户名、密码和注册时间进行两次哈希算法,使得网站服务端和存储端不再保存明文方式的用户信息,从而防止了黑客盗取明文密码的可能。本专利技术不仅不会改变用户设定密码习惯,而且也不会对网站服务端和存储端带来信息管理不变,即保证了用户隐私和客户体验,又保证了网站安全。附图说明图1是一种基于对密码使用哈希算法加密防碰撞的方法的流程框图。图2是实施例5中关于黑客入侵方式的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1:请参考图1,本专利技术提供了一种基于对密码使用哈希算法加密防碰撞的方法,包括以下步骤:用户在客户端平台注册,设定注册用户名和密码;其中,客户端平台可以是pc端的网页平台、手机端的h5网页平台和手机app。用户名接受一定长度的英文和数字组合的字符串,该用户名作为用户和系统做交互的唯一标识,而密码接受一定长度的英文、数字和特殊标点组合的字符。所述客户端平台将所述密码,采用慢哈希算法进行加密,形成一个字符串P;通过不同客户端平台使用不同的编程语言和不同的方式实现慢哈希加密,为了保证密码在各个客户端平台能被正确识别,故每个客户端平台使用的哈希算法是一样的。所述字符串P是一个固定长度固定结构的字符串,字符串的前N位标记算法的版本和计算时间复杂度,字符串N位后是加密密文。所述客户端平台将所述注册用户名和所述字符串P提交到服务端;具体地,客户端平台可以通过http或https协议提交,例如,通过https协议提交。所述服务端确认得到所述注册用户名和所述字符串P;具体地,服务端可以通过无线网络得到客户端平台的提交,例如,通过wifi得到客户端平台的提交。所述服务端将所述字符串P与所述注册用户名、注册时间进行字符串拼接,形成字符串A;注册时间的格式可以有多种,例如yyyyMMddHHmmss格式;字符串拼接的方式同样也可以有多种,例如,注册时间+字符串P+注册用户名。所述服务端将所述字符串A,按照安全散列哈希算法进行加密,形成字符串B;安全散列算法采用sha-512算法加密后的密文长度为512位,针对上述字符A的长度远远低于512位,采用sha-512加密出现碰撞概率为零。加密操实现针对不同的服务器端可以采用不同的编程语言实现。所述服务端将所述注册用户名、所述字符串B和所述注册时间,作为注册信息,分别存储到存储端数据库。存储端数据库可以采用多种数据库方案,例如Mysql数据库。针对注册信息的存储,可以通过在数据库创建一个包含上述注册信息字段的一个结构表。实施例2:请参考图1,本专利技术提供了一种基于对密码使用哈希算法加密防碰撞的方法,还包括以下步骤:所述用户访问所述客户端平台,输入所述注册用户名和所述密码;针对不同的客户端平台,用户访问的方式有多种,例如通过浏览器输入客户端平台的url地址进行访问。根据用户的个人习惯,输入的方式可以通过键盘、手写屏或语音。所述客户端平台将所述密码,采用所述慢哈希算法进行加密,形成字符串P1;慢哈希算法加密时,会根据输入的特征进行调整加密时间复杂度,例如当用户输入密码耗费时间比正常输入本文档来自技高网...

【技术保护点】
1.一种基于对密码使用哈希算法加密防碰撞的方法,其特征在于,包括以下步骤:S1:用户在客户端平台注册,设定注册用户名和密码;S2:所述客户端平台将所述密码,采用慢哈希算法进行加密,形成一个字符串P;S3:所述客户端平台将所述注册用户名和所述字符串P提交到服务端;S4:所述服务端确认得到所述注册用户名和所述字符串P;S5:所述服务端将所述字符串P与所述注册用户名、注册时间进行字符串拼接,形成字符串A;S6:所述服务端将所述字符串A,按照安全散列哈希算法进行加密,形成字符串B;S7:所述服务端将所述注册用户名、所述字符串B和所述注册时间,作为注册信息,分别存储到存储端数据库。

【技术特征摘要】
1.一种基于对密码使用哈希算法加密防碰撞的方法,其特征在于,包括以下步骤:S1:用户在客户端平台注册,设定注册用户名和密码;S2:所述客户端平台将所述密码,采用慢哈希算法进行加密,形成一个字符串P;S3:所述客户端平台将所述注册用户名和所述字符串P提交到服务端;S4:所述服务端确认得到所述注册用户名和所述字符串P;S5:所述服务端将所述字符串P与所述注册用户名、注册时间进行字符串拼接,形成字符串A;S6:所述服务端将所述字符串A,按照安全散列哈希算法进行加密,形成字符串B;S7:所述服务端将所述注册用户名、所述字符串B和所述注册时间,作为注册信息,分别存储到存储端数据库。2.根据权利要求1所述的一种基于对密码使用哈希算法加密防碰撞的方法,其特征在于,所述慢哈希算法采用bcrypt5,所述安全散列哈希算法采用SHA-512。3.根据权利要求1所述的一种基于对密码使用哈希算法加密防碰撞的方法,其特征在于,所述字符串拼接,采用顺序拼接的方式,将所述字符串P、所述注册用户名和所述注册时间排列。4.根据权利要求1所述的一种基于对密码使用哈希算法加密防碰撞的方法,其特征在于,所述慢哈希算法,是由所述客户端平台的脚本程序执行。5.根据权利要求1所述的一种基于对密码使用哈希算法加密防碰撞的方法,其特征在于,还包括以下步骤:S8:所述用户访问所述客户端平台,输入所述注册用户名和所述密码;S9:所述客户端平台将所述密码,采用所述慢哈希算法进行加密,形成字...

【专利技术属性】
技术研发人员:钟国维李泽满
申请(专利权)人:火币广州区块链科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1