一种基于图形加算法的图形解锁密码认证方法与流程

文档序号:16210315发布日期:2018-12-08 07:39阅读:438来源:国知局
一种基于图形加算法的图形解锁密码认证方法与流程

本发明属于计算机领域,尤其涉及一种面向桌面和移动终端身份认证识别的基于图形加算法的图形解锁密码认证agp(algorithmgraphpassword)方法。

背景技术

图形解锁密码是桌面、移动端设备的身份认证方式,然而,由于用户选择的密码比较简单并且起始点重复率很高,攻击者很容易破解用户密码,所以传统的图形解锁密码安全性并不高。

新型图形解锁密码方案agp加入了算法,在画出图形解锁密码后后台根据算法得到数字,用户记住这些推荐的数字,在密码认证时,用户先画出图形,再填入对应数字。后台通过图形和数字比较是否满足算法。这样的话相比传统的图形解锁密码有以下几个优势:首先,agp用户可以画简单易记的图形,但是攻击者破解并不容易,因为还有经过算法所得的数字,密码空间变大,安全性更高。



技术实现要素:

本发明的目的在于提供一种基于图形加算法的图形解锁密码认证方法,即agp,本方法中用户注册时一笔画画出四个点或者五个点的图形,系统后台存储的标号算法结合用户画出的图形给出对应点的数字密码,用户需同时记住图形和数字可以验证成功,以解决上述背景技术中图形解锁密码所面临的暴力破解,有效防止肩窥等问题。

本发明是这样实现的,一种基于图形加算法的图形解锁密码认证方法,该方法包括以下步骤:

s1、接收用户在图形解锁密码注册界面输入的图形,经标号算法得到数字密码完成注册;

s2、接收用户在图形解锁密码认证界面中输入的待认证图形g1,点击数字密码位置点position1并选择待认证数字密码choicenum1;

s3、读取在图形解锁密码认证界面输入的待认证图形g1,数字密码位置点position1及待认证数字密码choicenum1,获取被选点的坐标及其对应于对象数组points的元素,由所述元素中点的编号id获取表示待认证图形g1的字符串sb,并获取感应区域位置点position1和所选密码数字choicenum1;

s4、验证获取到的待认证数字密码choicenum1是否满足在注册时所使用的算法条件,将表示待认证图形g1的字符串sb与数据库中表agpregister中存储的真实图形解锁密码的字符串,position1和数据库表中的position进行对比,若一致,则身份验证成功,否则,身份验证失败。

优选地,在步骤s1中,所述经标号算法得到数字密码完成注册包括以下步骤:

(1)自动选择存储在系统后台的图算法,生成相应点上的数字,并存储到标号数字的数组apoint中;

(2)将得到的数组apoint传递到canvas.drawtext中,绘制到对应的点上,将passlist、position和apoint存储到数据库register的表agpregister中。

优选地,在步骤s1中,所述输入的图形为用户在注册界面的图形绘制单元上一笔画出的图形,该一笔图形由四个点或五个点组成;其中,读取在图形解锁密码注册界面输入的图形g时,数字密码位置点position检测到图形g,获取被选点的坐标及其对应于对象数组points的元素,通过该类元素中点的编号id,根据图形生成对应的邻接矩阵。

优选地,在步骤s3中,在图形解锁密码认证界面中所输入的待认证图形gl,是在该界面的图形绘制单元的9个点中,选取任意的图形,形成待认证图形gl。

优选地,所述图形解锁密码注册界面、图形解锁密码认证界面中均包含图形绘制单元,所述图形绘制单元的设计包括以下步骤:

(1)创建表示图形解锁界面九宫格中点的对象数组points,将九宫格中中点的状态state、横坐标x、纵坐标y作为参数填入对象数组points的元素中,并将对象数组points传给画笔paint;其中,将对象数组points传给画笔paint,是通过安卓系统提供的decoderesource函数实现;

(2)将感应区域的横坐标mousex、纵坐标mousey作为参数填入对象数组pmouse中,通过对比pmouse与points的距离来确定选中的点的id,并将id的值传入pointlist;

(3)设定用于表示点状态的三个图标bitmappointnormal、bitmappointpress、bitmappointerror,并传给画笔paint;

(4)画笔paint接收到对象数组points、pmouse和图标后,绘制图形解锁密码设置界面的点。

本发明克服现有技术的不足,提供一种基于图形加算法的图形解锁密码认证方法,该方法的实现方案是:(1)设置图形解锁密码九宫格界面(2)设置图形解锁密码的注册界面用户并画出图形(3)将图形传入后台经算法标号得到数字密码完成注册(4)用户输入待验证图形及数字密码判断是否满足算法完成验证。

相比于现有技术的缺点和不足,本发明具有以下有益效果:本发明在传统的图形解锁密码的基础上,通过加入算法,提高了用户密码的安全性,增大了密码空间,可以对肩窥攻击、字典攻击与暴力破解具有更强的防御力,可用于桌面、移动终端的身份认证。

附图说明

图1为本发明的实现总流程图;

图2为本发明中设置图形解锁密码的注册流程图;

图3为本发明中设置图形解锁密码的认证流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明公开了一种基于图形加算法的图形解锁密码认证方法,该方法的实现总流程如图1所示,更具体为:

步骤1,设置图形解锁密码界面,本步骤的具体实现如下:

(1a)创建表示图形解锁界面九宫格中点的对象数组points,将九宫格中中点的状态state、横坐标x、纵坐标y作为参数填入对象数组points的元素中,并将对象数组points传给画笔paint;

(1b)将感应区域的横坐标mousex、纵坐标mousey作为参数填入对象数组pmouse中,通过对比pmouse与points的距离来确定选中的点的id,并将id的值传入pointlist;

(1c)设定用于表示点状态的三个图标bitmappointnormal、bitmappointpress、bitmappointerror,并传给画笔paint;

(1d)画笔paint接收到对象数组points、pmouse和图标后,绘制图形解锁密码设置界面的点;

即用第一个图标bitmappointnormal绘制九宫格中9个点,用第二个图标bitmappointpres绘制pointlist中传入的点,textpaint绘制九宫格中中所选点位置的选择数字。

步骤2,设置图形解锁密码的注册界面及用户画出图形,如图2所示,本步骤的具体实现如下:

(2a)用户点击注册按钮,进入注册页面。

(2b)用户一笔画出图形,只能是四个点或者五个点的。

(2c)读取在图形解锁密码注册界面输入的图形g,数字密码位置点position,即界面监听中心ondrawfinishedlistener检测到图形g,获取被选点的坐标及其对应于对象数组points的元素,有这些元素中点的编号id,根据图形生成对应的邻接矩阵。

步骤3,将图形传入后台经算法标号得数字密码,本步骤的具体实现如下:

(3a)系统自动选择存储在系统后台的图算法,生成相应点上的数字,并存储到标号数字的数组apoint中。

(3b)将得到的数组apoint传递到canvas.drawtext中,绘制到对应的点上,将passlist,position和apoint存储到数据库register的表agpregister中。

步骤4,身份验证步骤,如图3所示,本步骤的具体实现如下:

(4a)在图形解锁密码的认证界面,输入待认证图形g1,点击数字密码位置点position1并选择待认证数字密码choicenum1;

(4b)读取在图形解锁密码认证界面输入的待认证图形g1,数字密码位置点position1及待认证数字密码choicenum1,即界面监听中心ondrawfinishedlistener检测到图形g1,获取被选点的坐标及其对应于对象数组points的元素,有这些元素中点的编号id获取表示待认证图形g1的字符串sb,并获取感应区域位置点position1和所选密码数字choicenum1;

(4c)后台验证获取到的待认证数字密码choicenum1是否满足在注册时所使用的算法条件,将表示待认证图形g1的字符串sb与数据库中表agpregister中存储的真实图形解锁密码的字符串,position1和数据库表中的position进行对比,若一致,则身份验证成功,否则,身份验证失败。

上述步骤(1a)中将对象数组points传给画笔paint,是通过安卓系统提供的decoderesource函数实现。

上述步骤(3a),中在图形解锁密码的认证界面,输入待认证图形gl,是在该界面的中,选取任意的四个点或者五个点的图形,形成待认证图形gl。

本发明在传统的图形解锁密码的基础上,通过加入算法,提高了用户密码的安全性,增大了密码空间,可以对肩窥攻击、字典攻击与暴力破解具有更强的防御力,可用于桌面、移动终端的身份认证。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1