CN107851140A - 利用压力触控生成密码的方法及装置 - Google Patents
利用压力触控生成密码的方法及装置 Download PDFInfo
- Publication number
- CN107851140A CN107851140A CN201680016735.0A CN201680016735A CN107851140A CN 107851140 A CN107851140 A CN 107851140A CN 201680016735 A CN201680016735 A CN 201680016735A CN 107851140 A CN107851140 A CN 107851140A
- Authority
- CN
- China
- Prior art keywords
- password
- input
- character
- pressure value
- equipment
- 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
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/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- 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
-
- 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/31—User authentication
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)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种利用压力触控生成密码的方法,步骤为:判断当前界面是否处于密码输入状态(S501);当确定当前界面处于密码输入状态时,接收用户输入的字符和压力值(S502);根据压力值对字符进行处理,生成密码(S503)。即使他人完全记住用户的按键输入,也无法获知用户的最终输入,从而有效防止偷窥,提高输入密码的安全性。
Description
本发明涉及数据处理领域,具体涉及一种利用压力触控生成密码的方法及装置。
利用触摸屏输入密码越来越普遍,但和实体键盘一样,触摸输入键盘(又称软键盘、虚拟键盘,以下称为软键盘)同样存在着安全隐患。用户在输入密码时,特别是使用智能手机、自动取款机、POS机(point of sale,销售终端)等设备的软键盘输入密码时,容易被人偷窥,存在密码泄露的风险,甚至会造成账号被盗、财产损失等不良后果。
现有的防偷窥技术包括为上述设备增加实体遮罩或者改变软键盘按键的位置,前者需要硬件改造成本且外形笨重,后者不能完全排除偷窥隐患,且两者都会降低用户输入的便捷性。
另外,在现有技术中,公开号为CN102982269A的中国专利中公开了一种基于生物计量特征的防偷窥密码认证方法及系统,该方法在用户输入密码时,同时记录用户的生物特征即每次操作的轻重程度,把这个轻重序列作为密码或者密码的一部分,用于增强密码的安全性。该方法改变了密码存储体系,无法与当前广泛使用的密码输入模式兼容。另一公告号为US7305559B2的美国专利中公开了一种加入输入节奏的密码输入方式,但如果输入节奏被偷窥或用摄像头非法记录,仍然会导致密码泄露。因此,现有技术在密码输入方面依然存在安全性低、便捷性差的问题。
发明内容
有鉴于此,本发明实施例提供了一种利用压力触控生成密码的方法及装置,在极大提高密码安全性的同时,增加了用户在输入密码时的便捷性和灵活性,而且也兼容传统触摸设备及其密码存储体系。
第一方面,本发明实施例提供了一种利用压力触控生成密码的方法。该方
法包括:设备判断当前界面是否处于密码输入状态;当所述设备确定所述当前界面处于密码输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码。上述技术方案,可以有效增强用户在输入密码时的安全性,同时,增加了用户在输入密码时的便捷性和灵活性。
结合第一方面,在第一方面的第一种实现方式中,所述当前界面是具有输入焦点的用户界面,即所述用户界面可以接收用户通过压力触摸屏、键盘、鼠标等输入设备输入的信息。只有在当前界面是密码输入的用户界面才触发该设备接收用户的密码输入,这样提高了输入效率,也节省了一定的电量。
结合第一方面和第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述设备判断当前界面是否处于密码输入状态,具体为:所述设备根据所述当前界面的输入框类型判断所述当前界面是否处于密码输入状态。以运行Android操作系统的设备为例,设备会根据输入框的InputType标记来确定输入框的类型。
结合第一方面的第一种实现方式和第一方面的第二种实现方式,在第一方面的第三种实现方式中,当所述设备获取到所述输入框类型为android:inputType=“textPassword”时,所述设备确定所述当前界面处于密码输入状态。可选的,为了避免密码泄露,在设备当前界面的输入框中可以不显示真实的输入字符,例如可以隐藏输入字符,也可以显示为“*”符号、“·”符号或者其他和输入字符无关的字符,以防止输入字符被人偷窥。
结合第一方面,在第一方面的第四种实现方式中,当所述设备确定所述当前界面不处于密码输入状态时,根据当前界面的输入框类型调整输入法的输入模式。
结合第一方面,在第一方面的第五种实现方式中,在生成上述密码之后,验证所述密码。可选的,生成的密码被提交给密码输入框,与正确的密码进行对比。
结合第一方面,在第一方面的第六种实现方式中,所述设备根据所述压力值对所述字符进行处理具体包括:如果有多个密码生成算法,根据用户选择的一个密码生成算法生成密码。可选的,可以在用户密码输入操作过程中以文字、图片、音频、视频等方式提示用户当前适用的密码生成算法。进一步的,为了
迷惑偷窥者,可以伪装提示的内容。可选的,所述选择可以是:所述设备确定用户输入所用的手指;所述设备根据不同的手指来调用对应的密码生成算法。这样就可以随时根据不同的情况来调用不同的密码生成算法,极大提高输入密码的安全性和便携性。
结合第一方面和第一方面的第六种实现方式,在第一方面的第七种实现方式中,所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Yn是否小于预设的第一阈值Ymax1;当所述设备确定Yn<Ymax1时,生成密码为Xn。上述密码生成算法还可以表述为:所述设备判断每个字符对应的压力值是否小于预设的第一阈值;所述设备根据压力值小于所述第一阈值的字符生成密码。这样生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
结合第一方面和第一方面的第六种实现方式,在第一方面的第八种实现方式中,所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Yn是否大于预设的第二阈值Ymax2;当所述设备确定Yn>Ymax2时,生成密码为Xn,Xn。上述密码生成算法还可以表述为:所述设备判断每个字符对应的压力值是否大于预设的第二阈值;所述设备重复输入压力值大于所述第二阈值的字符,生成密码。这样生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
结合第一方面和第一方面的第六种实现方式,在第一方面的第九种实现方式中,所述输入信息具体为(X1,Y1),(X2,Y2),……,(Xk-1,Yk-1),(Xk,Yk),(Xk+1,Yk+1),……,(Xn,Yn),其中,X1,X2,……,Xk-1,Xk,Xk+1,……,Xn为输入的字符,Y1,Y2,……,Yk-1,Yk,Yk+1,……,Yn为所述字符所对应的压力值;其中k、n为自然数,并且,n≥k>1;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Y1,Y2,…,Yk-1,Yk,Yk+1,……,Yn是否大于预设的第三阈值Ymax3;当所述设备确定Yk-1为第一个大于所述第三阈值Ymax3的压力值时,生成密码为Xk-1,Xk,Xk+1,……,Xn。上述密码生成算法还可以表述为:所述设备判断每个字符对应的压力值是否大于预设的第三阈值;所述设备根据第一个压力值大于所述第三阈值的字符及其之后的字符生成密码。这样生
成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
结合第一方面和第一方面的第六种实现方式,在第一方面的第十种实现方式中,所述输入信息具体为(X1,Y1),(X2,Y2),其中,X1,X2为输入的字符,Y1,Y2为所述字符所对应的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Y1和Y2的大小;如果Y2>Y1,生成密码为X2,X1;如果Y2≤Y1,生成密码为X1,X2。上述密码生成算法还可以表述为:所述设备比较前后两个字符对应的压力值;如果后者对应的压力值大于前者对应的压力值,交换两个字符的顺序;如果后者对应的压力值小于等于前者对应的压力值,保持两个字符的顺序;生成密码。这样生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
根据上述不同的密码生成算法,设备可以利用含有压力值的用户输入信息生成密码,密码输入过程即使被他人偷窥,也无法知道最终生成的密码,达到了防偷窥的目的;而且最终生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
第二方面,本发明实施例提供一种装置,包括压力触摸屏,一个或多个处理器,存储器,一个或多个程序;所述一个或多个程序被存储在所述存储器中并被配置为被所述一个或多个处理器执行,所述一个或多个程序包括指令,所述指令用于:设备判断当前界面是否处于密码输入状态;当所述设备确定所述当前界面处于密码输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码。具体方法和第一方面的方法相同。
第三方面,本发明的实施例提供一种装置,包括压力触摸屏,处理器,存储器;所述处理器判断当前界面是否处于密码输入状态,当所述处理器确定当前界面处于密码输入状态时,所述压力触摸屏接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述处理器根据所述压力值对所述字符进行处理,生成密码。其中,生成密码的算法存储在存储器中。具体方法和第一方面的方法相同。
第四方面,本发明的实施例提供一种利用压力触控生成密码的装置,所述装置包括状态判断单元,输入接收单元,密码生成单元;其中,所述状态判断
单元,用于判断当前界面是否处于密码输入状态;所述输入接收单元,用于当所述状态判断单元确定所述当前界面处于密码输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述密码生成单元,用于根据所述压力值对所述字符进行处理,生成密码。具体方法和第一方面的方法相同。
第五方面,本发明的实施例提供一种存储一个或多个程序的计算机存储介质,所述一个或多个程序包括指令,所述指令用于执行第一方面的方法。
通过上述方案,大大增强了密码防偷窥的能力,即使他人完全记住用户的按键输入,也无法获知用户的最终输入,从而有效防止密码被偷窥,大大提高了密码输入的安全性。
图1为本发明实施例提供的一种手机的硬件结构示意图;
图2为本发明实施例提供的一种手机操作系统的结构示意图;
图3为本发明实施例提供的一种输入法逻辑框架示意图;
图4A为本发明实施例提供的一种软键盘输入法界面示意图;
图4B为本发明实施例提供的另一种软键盘输入法界面示意图;
图4C为本发明实施例提供的一种密码输入状态界面示意图;
图5为本发明实施例提供的一种利用压力触控生成密码的方法示意图;
图6为本发明实施例提供的一种密码生成算法示意图;
图7为本发明实施例提供的另一种密码生成算法示意图;
图8为本发明实施例提供的另一种密码生成算法示意图;
图9为本发明实施例提供的又一种密码生成算法示意图;
图10为本发明实施例提供的又一种密码生成算法示意图;
图11为本发明实施例提供的又一种密码生成算法示意图;
图12为本发明实施例提供的一种手机防偷窥方法示意图;
图13为本发明实施例提供的一种装置示意图;
图14为本发明实施例提供的一种利用压力触控生成密码的装置示意图。
下面将结合实施例的附图,对本发明实施例的技术方案进行详细、清楚的描述。
本发明实施例中的一些设备具有压力触摸屏,通过压力感应实现压力触控。本发明实施例适用于所有需要利用触摸屏输入密码的场合,涉及的设备包括但不限于具有触摸输入功能的手机、平板电脑、智能手表、自动取款机、POS机、门禁系统等,典型场景如利用触摸屏解锁手机及其应用程序、输入门禁密码、用自动取款机的触摸屏输入银行卡密码,用POS机的触摸屏输入银行卡密码,等等。所述设备搭载的操作系统包括但不限于 DOS、Unix、Linux或者其他操作系统。触摸操作可以通过手指、触控笔等合适的部位或物件接触触摸屏的动作来完成。本发明的一些实施例以运行Android操作系统的智能手机为例,本领域技术人员应当理解的是,本发明实施例的方法也适用于其他具有触摸输入功能的设备。
图1所示为一种手机100的硬件结构示意图。应当理解的是,手机100只是上述具有触摸输入功能的设备的一个示例,并且手机100可具有比所示出的更多或更少的部件,可组合两个或更多个部件,或者可具有这些部件的不同配置或布置。图1中所示的各种部件可以硬件、软件方式或软硬件组合来实现,包括一个或多个信号处理和/或专用集成电路。
该手机100包括处理器110,存储器120,输入装置130,显示装置140,传感器150,音频电路160,WiFi模块170,射频电路180,电源190。这些部件通过一个或多个通信总线或信号线来通信。
处理器110是手机100的控制中心,利用各种接口和线路连接手机100的各个部分,通过运行或执行存储在存储器120内的软件程序或指令集,以及调用存储在存储器120内的数据,执行手机100的各种功能和处理数据,从而对手机100进行整体监控。可选的,处理器110可包括一个或多个处理单元;可选的,处理器110可集成应用处理器和调制解调器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。在一些实施例中,该处理器110可以包括图像信号处理器和双核/多核处理器。
存储器120可用于存储软件程序以及功能模块,处理器110通过运行存储在
存储器120的软件程序以及功能模块,从而执行手机100的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120包括高速随机存取存储器,还包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120可以存储各种操作系统,例如微软公司的Windows操作系统,或谷歌公司开发的Android操作系统等等。在本发明的一些实施例中,存储器120中存储的可以是Android操作系统。
输入装置130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,输入装置130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触控笔等任何适合的部位或物件在触控面板131上或在触控面板131附近的操作),并根据预先预设的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入装置130还包括其他输入设备132。具体地,其他输入设备132包括但不限于物理键盘、功能键(比如音量控制按键、开关按键、Home键等)、轨迹球、鼠标、操作杆等中的一种或多种。
具体的,触控面板131包括触敏表面(touch-sensitive surface),触敏表面用于执行与接触检测相关的各种操作,诸如确定是否已经发生了接触(例如,检测手指按下事件)、触摸的压力值和坐标信息,确定是否存在接触的移动并在整个触敏表面上跟踪该移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已经终止(例如,检测手指抬起事件或者接触中断)。确定接触点的移动可以包括确定接触点的速率(量值)、速度(量值和方向)、和/或加速度(量值和/或方向的改变),接触点的移动由一系列接触数据来表示。这些操作可被应用于单点接触(例如,一个手指接触)或者多点同时接触(例如,“多点触摸”/多个
手指接触)。触摸检测技术包括但不限于电容式、电阻式、红外线式、表面声波技术等。
需要注意的是,触控面板131应理解为广义的触摸输入设备,触敏表面可以与显示屏集成在一起,也可以分开从而作为单独的触控输入设备与系统连接,例如协调鼠标移动和鼠标按钮按压(具有或没有单个或多个键盘按压或保持)、触控板上的用户移动轻击、拖动、滚动等、触控笔输入、设备的移动、口头指令、检测到的眼睛移动、生物特征输入、和/或其任意组合,它们都可以被用作为触摸输入设备。以下实施例虽然主要是参考手指输入(例如,单指接触、单指轻击手势、单指轻扫手势)来给出,但是应当理解的是,在一些实施例中,这些手指输入中的一个或多个可以由来自另一触摸输入设备的输入(例如,触控笔输入)替代。
在本文中,除非特别说明,用户的手势是灵活的,可以是点击,双击,画圈,画线,单指触碰,或多指触碰,等等。本领域普通技术人员可以理解,只要能达到基本相同的效果,具体手势的选择是灵活的。在本文中,除非特别说明,用户的手势作用于触敏表面的位置或区域也是灵活的,可以是显示屏显示的某个应用接口元素的区域或附近区域,显示屏不显示应用接口元素的空白区域,显示屏显示的某个功能设置的区域,等等。本领域普通技术人员可以理解,只要能达到基本相同的效果,手势作用于触敏表面的具体位置或区域是可以灵活设置的。在本发明实施例中,触控面板131检测用户的触摸输入,并收集触摸输入时的压力触控信息,包括字符和对应的压力值。
显示装置140可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单。显示装置140可包括显示面板141,可选的,采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板141上提供相应的视觉输出。视觉输出包括文本、图形、图标、视频及其任意组合。在一些实施例中,一些视觉输出或全部的视觉输出可对应于用户界面对象。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现手机100的输入和输出功能,但是在某些实施例中,将触控面板131与显示面板141集成而实现
手机100的输入和输出功能。
手机100还可包括传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机100移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;可选地,手机100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
手机100还可包括音频电路160,其中扬声器161,传声器162可提供用户与手机100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器110处理后,经射频电路180以发送给另一手机,或者将音频数据输出至存储器120以便进一步处理。在一些实施例中,音频电路160还包括耳麦插孔,耳麦插孔提供音频电路160与可移除的音频输入/输出外围设备之间的接口,该外围设备诸如仅输出的耳机或者具有输出(例如,单耳或双耳耳机)和输入(例如,麦克风)二者的耳麦。
射频(RF,Radio Freqency)电路180可用于收发信息或通话过程中信号的接收和发送,将电信号转换为电磁信号或将电磁信号转换为电信号,并且经由电磁信号与通信网络及其他通信设备通信,特别地,将基站的下行信息接收后,给处理器110处理;另外,将设计上行的数据发送给基站。可包括用于执行这些功能的众所周知的电路系统,包括但不限于天线系统、射频收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、SIM(Subscriber Identity Module,用户身份模块)卡等等。射频电路180可通过无线通信与网络以及其他设备通信,网络诸如是互联网、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网和/或城域网)。无线通信可使用多种通信标准、协议和技术中的任何类型,包括但不限于全球移动通信系统、增强数据GSM环境、高速下行链路分组接入、高速上行链路分组接入、宽带码分多址、码分
多址、时分多址、蓝牙、无线保真(例如,IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n)、因特网语音协议、Wi-MAX、电子邮件协议(例如,因特网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理现场协议(XMPP)、用于即时消息和现场利用扩展的会话发起协议(SIMPLE)、即时消息和到场服务(IMPS))、和/或短消息服务(SMS)、或者其他任何适当的通信协议,包括在本文献提交日还未开发出的通信协议。
电源190用于给手机100进行供电及电源管理。具体的,电源190可包括电源管理系统、一个或多个电源(例如,电池、交流电)、再充电系统、电力故障检测电路、功率变换器或逆变器、电力状态指示器(例如,发光二极管)和任何其他与手机中电力的生成、管理和分配相关联的部件。
尽管未示出,手机100还可包括摄像头、蓝牙模块等,在此不再赘述。
其中,在手机100的存储器120中可以存储有Android操作系统,Android操作系统是一个以Linux为基础的移动设备操作系统,由操作系统、中间件、用户界面和应用软件组成,并利用手机提供的上述硬件实现各种各样的功能。下面,将详细描述该存储的Android操作系统的架构。
图2是一种运行Android操作系统的手机操作系统结构示意图。Android操作系统架构分为四层,从高层到底层分为应用程序层,应用程序框架层,函数库层和Linux内核层。
1、应用程序层:
应用程序层(Applications)是Android操作系统架构的最上一层,包括Android操作系统装配的核心应用软件,例如电子邮件客户端、短信、通话、日历、地图、浏览器、联系人等。当然,对于开发者来说,开发者可以编写应用软件并安装到该层。一般而言,应用程序都是使用Java语言开发,通过调用应用程序框架层所提供的API(Application Programming Interface)来完成。
2、应用程序框架层:
应用程序框架层(Application Framework),主要是为开发者提供了可以访问应用程序所使用的各种API,开发者通过应用程序框架层来与Android底层(例如函数库层、Linux内核层等)进行交互,开发自己的应用。该应用程序框架层主要是Android操作系统的一系列的服务和管理系统。应用程序框架层主要包括如下关键服务:
活动管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能;
内容提供器(Content Providers),用来管理不同应用程序间的数据共享和访问;
通知管理器(Notification Manager),用于控制应用程序在状态栏显示提示信息(例如警告(Alerts)、通知消息(Notifications)等)给用户;
资源管理器(Resource Manager):提供非代码资源(如字符串、图形和布局文件(Layoutfile)等)供应用程序使用;
包管理器(Package Manager)主要用于对Android操作系统的应用程序进行管理;
视图(View),具有丰富的、可扩展的视图集合,可用于构建一个应用程序,它具体包括列表(List)、网格(Grid)、文本框(TextBox)、按钮(Button),以及可嵌入的网页浏览器;
位置管理器(Location Manager),主要是让应用程序可以访问到手机当前的地理位置。
3、函数库层:
函数库层(Libraries)是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。函数库层包括一些由计算机程序C语言或C++语言编译的函数库,这些函数库能被Android操作系统中的不同的组件使用,它们通过Android应用程序框架为开发者提供服务。具体地,函数库包括libc函数库,它是专门为基于embedded linux的设备定制的;函数库还包括Android操作系统多媒体库(Media Framework),该库支持多种编码格式的音频/视频的回放和录制,同时支持静态图像文件,以及常见的音频/视频编码格式。函数库还包括界面管理库(Surface Manager),主要负责管理针对显示系统的访问,具体用于在执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。
函数库层中还包括其他的用于实现Android操作系统手机各个功能的函数库,例如:SGL(Scalable Graphics Library):基于XML(Extensible Markup Language)文件的2D图形图像处理引擎;SSL(Secure Sockets Layer):位于TVP/IP协议(TransmissionControlProtocol/InternetProtocol,传输控制协议/互联
网络协议)与各种应用层协议之间,为数据通讯提供支持;OpenGL/ES:3D效果的支持;SQLite:关系型数据库引擎;Webkit:Web浏览器引擎;FreeType:位图(Bitmap)及矢量(Vector)字体支持;等等。
Android Runtime是一种在Android操作系统上的运行环境,是Android操作系统所使用的一种新的虚拟机。在Android Runtime中,采用AOT(Ahead-Of-Time)技术,应用程序在第一次安装的时候,该应用程序的字节码就会被预先编译成机器码,让程序成为真正的本地应用,之后再次运行,就省去了编译这一步骤,启动和执行都会变得更加快速。
在本发明另外的一些实施例中,Android Runtime也可以由核心函数库(Core Libraries)和Dalvik虚拟机(Dalvik Virtual Machine)代替。核心函数库提供了Java语言API(Application Programming Interface)中的大多数功能,主要通过JNI(Java Native Interface)的方式向应用程序框架层提供调用底层程序库的接口。同时也包含了Android的一些核心API,如android.os、android.net、android.media等等。Dalvik虚拟机使用一种JIT(Just-in-Time)的运行时编译的机制,每次启动一个进程都需要虚拟机在后台重新编译字节码,会对启动速度有一定的影响。每一个Android应用程序都运行在是一个Dalvik虚拟机中的实例中,每一个Dalvik虚拟机实例都是一个独立的进程空间。Dalvik虚拟机设计成在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。需要提出的是Dalvik虚拟机依赖于Linux内核提供基本功能(线程、底层内存管理)。可以理解的是,Android Runtime、Dalvik属于不同类型的虚拟机,本领域技术人员可以在不同情况下选用不同形式的虚拟机。
4、Linux内核层:
Android的核心系统服务,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都基于Linux内核。Linux内核同时也作为硬件和软件栈之间的抽象层。该层有许多与移动设备相关的驱动程序,主要的驱动有:显示驱动(Display Driver):基于Linux的帧缓冲(Frame Buffer)驱动。键盘驱动(KeyBoard Driver):作为输入设备的键盘驱动。Flash驱动(Flash Memory Driver):基于MTD(memory technology device内存技术设备)的Flash驱动程序。照相机驱动(Camera Driver):常用的基于Linux的v4l2(Video for Linux)驱动。音频驱
动(Audio Driver):常用的基于ALSA(Advanced Linux Sound Architecture)的高级Linux声音体系驱动。蓝牙驱动(Bluetooth Driver):基于IEEE 802.15.1标准的无线传输技术。WiFi驱动(WiFi Drive):基于IEEE 802.11标准的驱动程序。Binder(IPC)驱动:Android的一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能。电源管理(Power Management):比如电池电量等。
输入法的实现需要Android操作系统各个层的参与。对于用户的输入,需要Linux内核层的各种驱动的支持才能识别;需要调用输入法的应用程序运行在应用程序层;应用程序框架层用于显示应用程序的内容、UI、通知等;函数库层为输入法的运行提供函数支持,例如对于代码的解析、字体及图形的支持、输入动画效果的显示等等。
具体地,输入法框架(Input Method Framework,以下简称IMF)是Android操作系统的一个系统组件,开发者可以在基于IMF来开发一种输入法应用程序。结合本发明实施例,参见图3,IMF主要包含三个部分:输入法管理器,输入法编辑器,客户端应用程序。
1、输入法管理器(Input Method Manager,以下简称IMM):是管理IMF其他部分之间交互的一个中心点。它可以看成是一个客户端API,存在于各个应用程序的上下文中,用来与管理所有进程间交互的全局系统服务进行通信。
2、输入法编辑器(Input Method Editor,以下简称IME):用来实现一个具体的交互模型,该交互模型允许用户生成文本,处理用户的输入。系统绑定一个当前正在用的输入法,使其创建和运行,系统决定该输入法何时隐藏或者显示它的用户界面(User Interface,以下简称UI)。同一时间只能有一个IME运行。
3、客户端应用程序(Client Applications,以下简称CA),指当前调用输入法的应用程序,通过IMM控制输入焦点和IME的状态。一次只能有一个客户端应用程序使用IME。
这三个部分需用共同合作才能完成输入法的工作。例如打开一个需要调用输入法的应用程序,当输入框获得输入焦点时,CA会通知IMM打开输入法,然后IMM查看当前选中的IME,并调用该IME。当用户提交了输入时,IME会将输入信息传递给CA完成输入。
下面结合图3对IMF三部分的交互过程进行阐述。
IMM:完成IME和CA的绑定,同时对输入法模块进行一些参数设置和安全控制,起到中间协调的角色。其中,IMM中的InputMethodManagerService是整个系统中,一切与输入法有关的总控制中心,CA请求调用输入法即是通过这个进程;WindowManagerService负责显示输入法,接收用户事件,获得焦点认证。IMM中的InputMethodManagerService进程会通过CA的InputMethodClient进程获取当前绑定的CA的信息,比如输入框类型;IMM中的InputMethodManagerService进程会通过IME的InputView进程启动、修改、隐藏IME。
IME:接收用户的按键输入信息,并调用客户端接口把输入信息传递给CA。其中,InputView进程可以从触摸屏获取用户的输入信息,也可以通过CA的InputContext(InputConnection)进程对CA的文本信息进行处理,比如删除字符、替换字符、控制光标位置等操作。
CA:用于显示用户的输入信息,同时为IME提供当前文本框的内容。其中,CA的InputMethodManager进程通过IMM的InputMethodManagerService进程间接控制IME的显示或者隐藏;CA的InputMethodManager进程通过IME的InputMethodSession(InputMethodSessionWrapper)进程为IME提供当前文本框的状态,比如光标改变等信息,从而让IME调整输入状态;UI控件可以处理一些未经IME处理的按键信息,比如Home键信息,使其直接到达CA;InputContext(InputConnection)进程可以在CA与IME的交互完成后,把输入信息显示在用户界面上;InputMethodClient作为输入法管理服务的客户端实现,用于标识自我并接收来自管理服务端的状态变化。
初始化输入法时,会做如下一些事情:
1、注册一些系统事件,处理事件(开关屏、关闭系统对话框、包改变)跟输入法的交互,例如:关屏时会把输入法菜单关闭;输入法包被删除时,将输入法从可用列表移除等。
2、加载输入法列表(buildInputMethodListLocked),读取启用的输入法,如果设置为空,加载全部输入法,并选择一个默认输入法。
3、加载状态栏图标等。
根据输入框类型可以确定当前界面是否处于密码输入状态,输入法系统服
务中的InputMethodManagerService服务从客户端进程中获取当前界面中输入框的输入类型。具体的,当一个输入域(例如输入框)得到输入焦点并且启动输入法的时候,系统会调用onStartInputView(),并且传入一个EditorInfo对象参数,里面包含了关于输入类型和其他文本域属性的细节,在这个对象中,inputType字段包含了文本域的输入类型。inputType字段是一个整型变量,它包含了基于位的规则表示各种各样的输入类型设置,常见的输入类型有数字、日期、电话号码、密码等。android:inputType用来设置文本的类型,用于帮助输入法显示合适的键盘类型。要实现密码输入,可以通过setInputType函数更改TextView的输入方式为Password。其中,可以通过设置EditText的setTransformationMethod()方法来实现隐藏密码或者显示密码,例如可以用“*”符号显示密码。当确定当前界面处于密码输入状态时,输入法进程的窗口视图可以接收用户的输入信息,然后通过客户端进程的UI控件显示输入信息。
参见图4A和图4B,软键盘输入法界面40可以包括:一个视图区域中显示各种按键41,包括字母键、数字键、符号键和功能键等,触摸屏接收用户的触摸输入,并根据用户触摸输入的位置坐标信息判断对应的按键41,然后在输入框42中显示按键41对应的输入信息。可以理解的是,软键盘输入界面可以有多种形式,软键盘键位分布也可以与标准键盘不同。当触摸屏检测到用户在软键盘上触摸某个按键41时,获取用户按键的位置坐标信息和压力值。根据位置坐标信息,可以计算当前用户输入对应的具体的按键值,然后调用系统接口提交用户的输入按键信息。通常,输入法会使用按键值,而较少使用压力信息,本发明实施例将充分利用压力信息增强输入密码的安全性。需要注意的是,上述压力信息仅指构成密码序列的字符按键的压力信息,对于不是密码输入类型的按键压力信息不予考虑,例如功能键的压力值并不影响最终输入结果。可以理解的是,在使用软键盘输入密码时,输入框42中可以不显示真实的输入字符,具体的,可以隐藏输入字符,也可以显示“*”符号或其他和输入字符无关的字符,以防止密码泄露。
参见图5,本发明实施例提供了一种利用压力触控生成密码的方法,该方法可以在上述实施例中的具有触摸输入功能的设备(例如手机100)中实现。该方法具体包括:
S501:设备判断当前界面是否处于密码输入状态。
当前界面可以是具有输入焦点(Input Focus)的用户界面。当一个用户界面可以接收用户通过压力触摸屏、键盘、鼠标等输入设备输入的信息时,则称该用户界面具有输入焦点。在一些实施例中,当前界面又称作活动窗口,是已激活的、可以接收用户输入的用户界面。通常情况下,当前界面可以是一个处于前台的可视的窗口,以方便用户查看或者输入信息;对于可以同时呈现多个窗口的设备(例如平板电脑中的分屏功能,即在一个屏幕上分两个显示区域,这两个显示区域分别显示两个不同的界面),当前界面可以是具有输入焦点的一个界面;其余界面即使可见,也不具有输入焦点,因而不是当前界面。
以Android操作系统为例,用户界面通常通过Activity组件实现,一个Activity包含一个或多个视图(View),例如各种按钮(Button)、图标(Icon),从而实现与用户的交互。Acitivity通过Acitivity Stack进行管理,当一个新的Activity被启动的时候,系统调用onCreate()函数实现窗口组件初始化,该Activity会被放置在栈顶并成为运行的Activity,接收用户输入,成为当前界面。一个Activity有四个状态:活动(active/running)、暂停(paused)、停止(stopped)、销毁(inactive/destroyed),处于活动(running)状态的用户界面可以被称为当前界面,该当前界面处于前台,用户能够看到并且具有输入焦点。
当前界面可以具有输入框,以便接收和显示用户的输入,设备可以根据输入框的类型判断当前界面是否处于密码输入状态。以运行Android操作系统的设备为例,设备会根据输入框的InputType标记来确定输入框的类型。例如,当设备发现输入框的类型为android:inputType="phone",则表明输入的类型是电话输入;当设备发现输入框的类型为android:inputType="text",则表明输入的类型是文本输入;类似的,在Android操作系统中,当设备发现输入框的类型为android:inputType=“textPassword”时,设备确定当前界面处于密码输入状态。在密码输入状态下,设备可以接收用户的输入,并生成密码;可选的,为了避免密码泄露,在设备当前界面的输入框中可以不显示真实的输入字符,例如可以隐藏输入字符,也可以显示为“*”符号、“·”符号或者其他和输入字符无关的字符;如果设备根据输入框的类型确定当前界面不是密码输入状态,例如上述电话输入类型或文本输入类型,根据当前界面的输入框类型调整输入法的输入模式,可选的,可以用明文显示输入的字符。
以手机100为例,一种可能的密码输入状态如图4C所示。当前界面包括输
入框430和软键盘431。其中,输入框430用于接收用户的输入字符;根据输入框的类型可以判断当前界面是否处于密码输入状态,以Android操作系统为例,如果输入框的类型为android:inputType=“textPassword”,则手机100确定当前界面处于密码输入状态。软键盘431可以允许用户触摸压力触摸屏实现字符输入,并把输入的字符提交给输入框430。可选的,为了防止密码泄露,已输入的字符显示为“·”符号或其他与输入字符无关的字符。可以理解的是,图4C虽然以数字软键盘为例,但同样适用于含有字母、特殊字符的软键盘;图4C虽然以6位密码为例,但同样适用于其他长度的密码序列。另外,图形解锁的原理与图4C中数字解锁类似,也是分布于不同位置的键位,只是图形解锁时需要连续滑动,所以本发明实施例的方法也适用于图形解锁,在滑动到相应位置时也可以加入压力值信息,例如轻压或重压等。
S502:当所述设备确定所述当前界面处于密码输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值。
设备确定当前界面是密码输入状态时,例如当Android设备发现输入框的类型为android:inputType=“textPassword”时,可以调用输入法进程,在当前界面显示软键盘,并接收用户的输入信息。以Android操作系统为例,用户打开一个需要调用输入法的应用程序,当输入框获得输入焦点时,客户端应用程序(CA)会通知输入法管理器(IMM)打开输入法,然后IMM查看当前选中的输入法编辑器(IME),并调用该IME。当用户提交了输入时,IME会将输入信息传递给CA完成输入。
上述输入信息包括字符和输入所述字符时产生的压力值,所述压力值是在所述用户输入字符时所产生的压力值。用户点击软键盘按键时,设备可以通过触摸屏接收到触摸位置,每个触摸位置对应软键盘上的一个字符,因此设备根据用户的触摸位置即可确定用户输入的字符。具有压力感应的触摸屏可以测得每次用户输入的压力值,该压力值与输入的字符一一对应。上述输入信息可以存储在设备的存储器120中,更具体的,可以存储在设备的缓存中,以便在S503中处理。
触摸屏可以检测用户输入的压力值,也可以通过检测用户在按压触摸屏时手指与该触摸屏的接触面积得到压力值。可选的,在用户按压触摸屏时,触摸屏可以根据压力值的大小给用户提供按压轻重程度的反馈。可选的,该反馈可
以是一个触觉反馈,以确保只有当前进行输入的用户才能感知到,例如振动等。设备得到压力值的方法可以有多种,以Android操作系统为例,触摸屏的压力传感器在检测到用户的按压后,调用MotionEvent Class里的getPressure方法,从而获得用户输入压力值的大小数值;如果是通过检测手指与触摸屏的接触面积得到压力值,则触摸屏的压力传感器在检测到用户的按压后,调用MotionEvent Class里的getSize方法,从而获得手指与触摸屏的接触面积数值,该接触面积数值被getSize方法标准化为0到1范围之内的一个数值,该数值可以间接表示输入压力值的大小,即手指与触摸屏接触面积越大,则认为用户按压力度越大。可以理解的是,设备也可以调用其他接口函数对压力值进行检测,此处不做限制。在本发明的一些实施例中,可以用一个预设的压力值阈值来判断用户按压力度的轻重,当用户输入的压力值大于该阈值时,该输入被视为一次重压;当用户输入的压力值小于该阈值时,该输入被视为一次轻压。可选的,重压时触摸屏可以给用户提供一次振动反馈,轻压时触摸屏可以不给用户提供振动反馈。
在本发明的一些实施例中,用(X,Y)表示用户的输入信息,其中,X表示用户输入的字符,Y表示该字符对应的输入压力值,(Xn,Yn)表示用户第n次输入的字符和压力值。为了表述方便,此处的压力值Y不是以力学单位“牛顿(N)”为单位的真实值,而是一个相对于预设的单位压力值而定义的相对值,Y的数值越大表示对应的真实压力值越大。例如,输入信息(1,2)表示用户输入的字符是1,相对压力值是2.在本发明的一些实施例中,用Ymax表示预设的压力值阈值,同样的,该压力值阈值也是一个相对值。
S503:所述设备根据所述压力值对所述字符进行处理,生成密码。
设备根据每个字符对应的压力值来对所述字符进行处理,从而生成密码。密码处理的算法可以预先设置,并存储在存储器中,该存储器包括本地存储器120和网络侧存储器。从网络侧存储器获取密码生成算法具体可以包括:设备通过无线网络或者有线网络访问网络服务器,从该网络服务器的存储器中获取预先设置的密码生成算法。密码生成算法是设备默认的或通过网络更新的一个或多个算法,如果有多个密码生成算法,则设备在获取密码生成算法后,根据用户选择的一个密码生成算法生成密码。可选的,可以在用户输入密码的过程中以文字、图片、音频、视频等方式提示用户当前适用的密码生成算法,以用
户选择的密码生成算法作为最终适用的密码生成算法。进一步的,为了迷惑偷窥者,可以伪装提示的内容,例如音频播放的提示规则是伪装的,真正的规则显示在屏幕的一角,这个真正的规则才是最终适用的密码生成算法。
可选的,上述选择密码生成算法具体可以包括:
S5031:所述设备确定用户输入所用的手指。具体地,该设备可以通过摄像头来确定用户输入信息时所用的手指;还可以通过每个手指按压触摸屏的指纹面积的不同,来确定用户输入信息时所用的手指。当然,为了方便,优选地,该设备只需要确定用户第一次输入信息的时候用的是哪个手指就可以了。
S5032:所述设备根据不同的手指来调用对应的密码生成算法。例如,如果用户是用大拇指输入的信息(字符和压力值),那么可以调用密码生成算法1,来对输入信息进行处理,进而生成密码;如果用户是用食指输入的信息(字符和压力值),那么可以调用密码生成算法2,来对输入信息进行处理,进而生成密码。
这样就可以随时根据不同的情况来调用不同的密码生成算法,极大提高输入密码的安全性和便携性。
值得注意的是,设备获取密码生成算法的时间可以是生成密码前的任意时刻。例如,可以在接收用户输入之前获取密码生成算法,也可以在用户输入过程中获取密码生成算法,还可以在用户输入结束后再获取密码生成算法。对于用户输入,可以在输入的过程中单个处理或分组处理,也可以在输入完成后一并处理。经过密码生成算法处理后生成的密码可以不含压力值,以便兼容传统的密码存储体系和常见的具有触摸屏的设备。当然,在本发明另外的一些实施例中,经过密码生成算法处理后所生成的密码也可以包含压力值,这样使得密码安全性更高。
可选的,经密码生成算法处理得到的密码会被提交给设备,具体的,可以是密码输入框。设备收到密码后,与预设的正确密码进行对比,验证密码是否正确;如果密码和预设的正确密码相同,则密码正确。需要注意的是,这里的相同指符合正确密码的要求,并不一定是两者所有字符完全相同,例如有的密码判断规则为忽略字母大小写,如果两者的唯一区别是字母的大小写不同,仍然是符合要求的。上述验证过程可以在设备本地完成,也可以由设备连接网络服务器完成。密码验证完成后设备可以执行预设的操作,例如,输入密码正确
时可以进入手机界面、解锁应用程序、门禁解锁、完成支付等等,输入密码错误时需要重新输入等等,此处不再赘述。
本发明实施例利用触摸屏获取压力信息,在确定当前是密码输入状态时,启动密码防偷窥功能,根据预先设置的密码生成算法对用户的输入信息进行处理。即使他人完全记住用户的按键输入,也无法获知最终生成的密码,从而实现防偷窥功能。
下面介绍几种密码生成算法。特别应当注意的是,以下实施例虽然以数字密码为例,但同样适用于含有字母、特殊字符的密码输入(当然,不适用于不是密码输入类型的输入,例如不构成密码序列的功能键);以下实施例虽然以6位密码为例,但同样适用于其他长度的密码序列。需要再次提醒本领域技术人员的是,以下密码生成算法适用于一切使用触摸屏输入密码的场合,包括所有具有触摸屏的设备,例如手机100。
参见图6,一种可能的密码生成算法为:所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Yn是否小于预设的第一阈值Ymax1;当所述设备确定Yn<Ymax1时,生成密码为Xn。上述密码生成算法也可以表述为:所述设备去掉输入压力值大于预设的第一阈值的字符,根据压力值小于所述第一阈值的字符生成密码。上述密码生成算法还可以表述为:所述设备判断每个字符对应的压力值是否小于预设的第一阈值;所述设备根据压力值小于所述第一阈值的字符生成密码。
所述预设的阈值可以由用户设置,也可以在设备出厂时预设,也可以由设备根据用户日常操作的压力值来调整。设备判断用户输入的每个字符的压力值是否小于预设的第一阈值,当用户输入的某些字符的压力值大于预设的第一阈值时,设备确定这些输入压力值大于预设的第一阈值的字符无效,根据输入压力值小于预设的第一阈值的字符生成密码。可选的,上述输入压力值大于预设的第一阈值的字符可以有一个或者多个;当有多个字符的输入压力值大于预设的第一阈值时,这些输入压力值大于预设的第一阈值的字符可以连续出现,也可以不连续出现;可选的,用户可以倒序输入密码;下文中其他密码生成算法中也是如此。
可以理解的是,设备判断输入压力值的条件是灵活的,例如判断条件也可
以是:判断用户输入中每个字符的压力值是否大于等于预设的第一阈值,当用户输入的某些字符的压力值大于等于预设的第一阈值时,设备确定这些输入压力值大于等于预设的第一阈值的字符无效,根据输入压力值小于预设的第一阈值的字符生成密码;又如,判断条件也可以是:判断用户输入中每个字符的压力值是否小于预设的第一阈值,当用户输入的某些字符的压力值小于预设的第一阈值时,设备确定这些输入压力值小于预设的第一阈值的字符无效,根据输入压力值大于等于预设的第一阈值的字符生成密码;又如,判断条件也可以是:判断用户输入中每个字符的压力值是否小于等于预设的第一阈值,当用户输入的某些字符的压力值小于等于预设的第一阈值时,去掉这些输入压力值小于等于预设的第一阈值的字符,根据输入压力值大于预设的第一阈值的字符生成密码。下文中其他密码生成算法的压力值判断条件也是如此,不再赘述。
图6中第一行表示用户输入信息,第二行表示经过密码生成算法处理后生成的密码,带有粗框的字符表示该字符的输入压力值大于预设的第一阈值。比如正确密码是1、2、3、4、5、6,预设的压力值第一阈值Ymax1=5,用户的输入信息分别是(X1,Y1)=(1,2),(X2,Y2)=(2,2),(X3,Y3)=(3,1),(X4,Y4)=(8,6),(X5,Y5)=(4,3),(X6,Y6)=(5,2),(X7,Y7)=(6,3);其中第四次输入时使用的压力值(Y4=6)大于预设的第一阈值(Ymax1=5),则确定第四次输入的字符(X4=8)无效,根据输入压力值小于Ymax1的字符(X1,X2,X3,X5,X6,X7)生成密码,最后生成的密码(X1,X2,X3,X5,X6,X7)=(1,2,3,4,5,6),和正确的密码相同。可以看出,经过密码生成算法的处理,密码输入过程即使被他人偷窥,也无法知道最终生成的密码,达到了防偷窥的目的;而且最终生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
参见图7,另一种可能的密码生成算法为:所述输入信息为(Xn-1,Yn-1),(Xn,Yn),其中,Xn-1、Xn为输入的字符,Yn-1、Yn分别为Xn-1、Xn所对应的压力值,n为自然数;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Yn是否大于预设的第七阈值Ymax7;当所述设备确定Yn>Ymax7时,生成密码为Xn。上述密码生成算法也可以表述为:用输入压力值大于预设的第七阈值的字符替换其前一个字符。上述密码生成算法还可以表述为:设备判断用户输入中每个字符的压力值是否大于预设的第七阈值,当用户输入的某些字符的压力值大于预设的第七阈值时,确定这些字符的
前一个字符无效,根据除此无效字符之外的其他字符(即除了这些字符的前一个字符之外的其他字符,包括这些压力值大于等于预设的第七阈值的字符)生成密码,即达到了用输入压力值大于等于预设的第七阈值的字符替换其前一个字符的效果。可选的,上述输入压力值大于等于预设的第七阈值的字符可以有一个或多个,用于替换其之前或之后相同个数的字符。可以理解的是,本实施例中也可以用输入压力值大于预设的第七阈值的字符替换其后一个字符。
图7中第一行表示用户输入信息,第二行表示经过密码生成算法处理后生成的密码,带有粗框的字符表示该字符的输入压力值大于预设的第七阈值。比如正确密码是1、2、3、4、5、6,预设的压力值第七阈值Ymax7=5,用户的输入信息分别是(X1,Y1)=(1,2),(X2,Y2)=(2,3),(X3,Y3)=(8,3),(X4,Y4)=(3,7),(X5,Y5)=(4,3),(X6,Y6)=(5,2),(X7,Y7)=(6,3);其中第四次输入时使用的压力值(Y4=7)大于预设的第七阈值(Ymax7=5),则用第四次输入的字符(X4=3)替换其前一个字符(X3=8),最后生成的密码(X1,X2,X4,X5,X6,X7)=(1,2,3,4,5,6),和正确的密码相同。可以看出,经过密码生成算法的处理,密码输入过程即使被他人偷窥,也无法知道最终生成的密码,达到了防偷窥的目的;而且最终生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
参见图8,另一种可能的密码生成算法为:所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Yn是否大于预设的第二阈值Ymax2;当所述设备确定Yn>Ymax2时,生成密码为Xn,Xn。上述密码生成算法也可以表述为:重复输入输入压力值大于预设的第二阈值的字符。上述密码生成算法还可以表述为:所述设备判断每个字符对应的压力值是否大于预设的第二阈值;所述设备重复输入压力值大于所述第二阈值的字符,从而生成密码。上述大于预设的第二阈值的字符可以有一个或者多个,重复输入的次数可以有一次或多次。
图8中第一行表示用户输入信息,第二行表示经过密码生成算法处理后生成的密码,带有粗框的字符表示该字符的输入压力值大于预设的第二阈值。比如正确密码是1、2、3、3、5、6,预设的压力值第二阈值Ymax2=5,用户的输入信息分别是(X1,Y1)=(1,2),(X2,Y2)=(2,3),(X3,Y3)=(3,7),(X4,Y4)=(5,1),
(X5,Y5)=(6,3);其中第三次输入时使用的压力值(Y3=7)大于预设的第二阈值(Ymax2=5),则重复输入第三次输入的字符(X3=3),最后生成的密码(X1,X2,X3,X3,X4,X5)=(1,2,3,3,5,6),和正确的密码相同。可以看出,经过密码生成算法的处理,密码输入过程即使被他人偷窥,也无法知道最终生成的密码,达到了防偷窥的目的;而且最终生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有触摸屏设备的解锁。
参见图9,还有一种可能的密码生成算法为:将输入压力值大于预设的第九阈值的字符根据预设规则进行变化。设备判断用户输入中每个字符的压力值是否大于预设的第九阈值,当用户输入的某些字符的压力值大于预设的第九阈值时,根据预设规则对这些压力值大于预设的第九阈值的字符进行变化。所述的预设规则非常广泛,比如字符顺序列表中的前一个或后一个值,前若干个或后若干个值,某个固定值减去输入值,等等;其中,顺序列表可以是0-9的数字表,或A-Z的字母表,顺序列表可以是正序或者逆序的。例如,一种可能的密码生成算法可以为:所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Yn是否大于预设的第九阈值Ymax9;当所述设备确定Yn>Ymax9时,生成密码为Xn与3之和的个位数(即Xn在0-9的数字表中的后面第3个值)。
图9中第一行表示用户输入信息,第二行表示经过密码生成算法处理后生成的密码,带有粗框的字符表示该字符的输入压力值大于预设的第九阈值。比如正确密码是1、2、3、4、5、6,预设的压力值第九阈值Ymax9=5,预设规则为0-9的数字表中后面第3个值,用户的输入信息分别是(X1,Y1)=(1,2),(X2,Y2)=(2,3),(X3,Y3)=(3,2),(X4,Y4)=(4,1),(X5,Y5)=(2,6),(X6,Y6)=(6,2);其中第五次输入时使用的压力值(Y5=6)大于预设的第九阈值(Ymax9=5),则根据上述预设规则,得到处理后的X5为原值(原X5=2)后的第3个值(即5),最后生成的密码(X1,X2,X3,X4,X5,X6)=(1,2,3,4,5,6),和正确的密码相同。可以看出,经过密码生成算法的处理,密码输入过程即使被他人偷窥,也无法知道最终生成的密码,达到了防偷窥的目的;而且最终生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
参见图10,还有一种可能的密码生成算法为:所述输入信息具体为(X1,Y1),
(X2,Y2),……,(Xk-1,Yk-1),(Xk,Yk),(Xk+1,Yk+1),……,(Xn,Yn),其中,X1,X2,……,Xk-1,Xk,Xk+1,……,Xn为输入的字符,Y1,Y2,……,Yk-1,Yk,Yk+1,……,Yn为所述字符所对应的压力值;其中k、n为自然数,并且,n≥k>1;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Y1,Y2,…,Yk-1,Yk,Yk+1,……,Yn是否大于预设的第三阈值Ymax3;当所述设备确定Yk-1为第一个大于所述第三阈值Ymax3的压力值时,生成密码为Xk-1,Xk,Xk+1,……,Xn。上述规则也可以表述为:以输入压力值大于预设的第三阈值的字符作为起始输入字符,之前输入的字符作为无效字符。上述规则还可以表述为:所述设备判断每个字符对应的压力值是否大于预设的第三阈值;所述设备根据第一个压力值大于所述第三阈值的字符及其之后的字符生成密码。可以理解的是,此处大于预设的第三阈值的字符也可以作为即将输入密码的信号,用该字符之后输入的字符生成密码;也可以在输入最后一位密码后再输入一串无效字符,更好地起到防偷窥作用;等等。
图10中第一行表示用户输入信息,第二行表示经过密码生成算法处理后生成的密码,带有粗框的字符表示该字符的输入压力值大于预设的第三阈值。比如正确密码是1、2、3、4、5、6,预定的压力值第三阈值Ymax3=5,用户先输入n个无效字符,从第n+1个字符开始,依次的输入信息分别是(Xn+1,Yn+1)=(1,6),(Xn+2,Yn+2)=(2,3),(Xn+3,Yn+3)=(3,2),(Xn+4,Yn+4)=(4,1),(Xn+5,Yn+5)=(5,3),(Xn+6,Yn+6)=(6,2);其中第n+1次输入时使用的压力值(Yn+1=6)大于预设的第三阈值(Ymax3=5),则以Xn+1作为起始输入字符,最后生成的密码(Xn+1,Xn+2,Xn+3,Xn+4,Xn+5,Xn+6)=(1,2,3,4,5,6),和正确的密码相同。可以看出,经过密码生成算法的处理,密码输入过程即使被他人偷窥,也无法知道最终生成的密码,达到了防偷窥的目的;而且最终生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
参见图11,又一种可能的密码生成算法为:所述输入信息具体为(X1,Y1),(X2,Y2),其中,X1,X2为输入的字符,Y1,Y2为所述字符所对应的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Y1和Y2的大小;如果Y2>Y1,生成密码为X2,X1;如果Y2≤Y1,生成密码为X1,X2。上述规则还可以表述为:所述设备比较前后两个字符对应的压力值;如果后者对应的压力值大于前者对应的压力值,交换两个字符的顺序;如果后者对应的
压力值小于等于前者对应的压力值,保持两个字符的顺序;生成密码。可以把字符按用户输入的顺序每两个字符分为一组,根据每组中前后两个字符对应的压力值大小调整两个字符的顺序,根据调整后的顺序生成密码。上述调整字符顺序具体可以是:当同组中后一个字符的输入压力值比前一个字符的输入压力值大时,交换两者的顺序,否则,不交换两者的顺序。可以理解的是,这里所说的分组排序只要是涉及比较两个字符输入压力值后决定是否调整两者的顺序即可,比如也可以设置当同组中前一个字符比后一个字符输入压力大时,交换两者的顺序;或者也可以将第一个字符和第三个字符分为一组等等。
图11中第一行表示用户输入信息,第二行表示经过密码生成算法处理后生成的密码,虚线框表示一组,图中输入信息每2个一组,共分为3组。在每个组内,带有粗框的字符表示该字符的输入压力值大于该组的另一个字符的输入压力值。例如正确的密码是1、2、3、4、5、6,调整字符顺序具体为:当同组中后一个字符的输入压力值比前一个字符的输入压力值大时,交换两者的顺序,否则,不交换两者的顺序;用户的输入信息分别是(X1,Y1)=(2,2),(X2,Y2)=(1,3),(X3,Y3)=(3,2),(X4,Y4)=(4,1),(X5,Y5)=(5,4),(X6,Y6)=(6,1)。在第一组中,Y1<Y2(2<3),所以交换X1和X2的顺序;在第二组中,Y3>Y4(2>1),不交换X3和X4的顺序;在第三组中,Y5>Y6(4>1),不交换X5和X6的顺序。所以最终生成的密码(X2,X1,X3,X4,X5,X6)=(1,2,3,4,5,6),和正确的密码相同。可以看出,经过密码生成算法的处理,密码输入过程即使被他人偷窥,也无法知道最终生成的密码,达到了防偷窥的目的;而且最终生成的密码不含压力值信息,完全兼容现有的密码存储体系,可以用于各种具有压力触摸屏设备的解锁。
由以上实施例可以看出,密码生成算法是非常灵活而多样的,它们之间的组合、同等替换难以穷举,本领域的普通技术人员可以根据本发明实施例的思想得到更多可用的方法,这些方法都属于本发明的保护范围。
图12是一种手机防偷窥方法示意图,是上述一种利用压力触控生成密码的方法的一个具体的示例。该手机防偷窥方法各步骤如下:
S1201:输入框获得输入焦点。输入框用于接收用户的输入,对于具有压力触摸屏的手机,当用户点击输入框时,输入框会获得输入焦点,并调用输入法。可选的,调用输入法具体为在当前界面呈现软键盘,以接收用户的输入。
S1202:判断是否为密码输入模式。手机根据输入框的类型可以判断是否
为密码输入模式。以Android操作系统为例,当输入框的类型为android:inputType=“textPassword”时,设备确定是密码输入模式。如果是密码输入模式,则执行S1203;如果不是密码输入模式,则根据当前界面的输入框类型调整输入法的输入模式,例如文本输入、电话输入等。
S1203:接收输入信息。手机接收用户在输入法软键盘上的触摸输入,获取输入的字符和压力值。其中,获取字符具体为:获取用户的触摸位置,解析触摸位置对应的字符。可选的,手机在获取触摸输入的字符和压力值后,把字符和压力值缓存在手机的内存中。
S1204:判断输入是否结束。可选的,如果用户按确认键(Enter键)或者关闭输入法时,则输入结束。如果结束,则执行S1205;如果没有结束,则继续执行S1203接收输入信息。
S1205:获取密码生成算法。密码生成算法是预先设置的、存储在手机存储器或者网络侧存储器的一个或多个算法。值得注意的是,该具体示例中,密码处理是在密码输入完成后一并进行的;如前所述,也可以一边输入一边处理,此处不再赘述。
S1206:根据密码生成算法处理输入信息。对内存列表中缓存的字符和每个字符对应的压力值,根据密码生成算法进行处理。
S1207:生成密码。经过密码生成算法处理后生成密码。可选的,可以通过InputConnnection接口传递给客户端进程的密码输入框,完成密码的防偷窥输入。
另外,参见图13,本发明实施例提供一种装置,包括压力触摸屏131,处理器132,存储器133。处理器132判断当前界面是否处于密码输入状态,如果确定当前界面处于密码输入状态,则压力触摸屏131接收用户的输入信息,该输入信息包括字符和输入所述字符时产生的压力值。处理器132根据所述压力值对所述字符进行处理,生成密码。其中,密码生成算法存储在存储器133中。具体方法和上述一种利用压力触控生成密码的方法相同。
另外,本发明实施例提供一种装置,包括压力触摸屏,一个或多个处理器,存储器,一个或多个程序;其中,一个或多个程序被存储在存储器中并被配置为被一个或多个处理器执行,这一个或多个程序包括指令,该指令用于:设备判断当前界面是否处于密码输入状态;当所述设备确定所述当前界面处于密码
输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码。具体方法和上述一种利用压力触控生成密码的方法相同。
另外,参见图14,本发明实施例还提供一种利用压力触控生成密码的装置,包括状态判断单元141,输入接收单元142,密码生成单元143;状态判断单元141判断当前界面是否处于密码输入状态,当状态判断单元141确定当前界面处于密码输入状态时,输入接收单元142接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;密码生成单元143根据所述压力值对所述字符进行处理,生成密码。具体方法和上述一种利用压力触控生成密码的方法相同。
另外,本发明实施例还提供一种存储介质,用于存储计算机软件指令,该指令用于:设备判断当前界面是否处于密码输入状态;当所述设备确定所述当前界面处于密码输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码。具体方法和上述一种利用压力触控生成密码的方法相同。
本领域普通技术人员应当理解,结合本文中所公开的实施例描述的各示例的单元、规则及方法步骤,能够以计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
应当理解,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”当在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件和/或其分组。
在本文中对本发明的描述中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本发明的限制。如本在发明的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。
所述作为分离部件说明的单元是或者也不是物理上分开的,作为单元显示
的部件是或者也不是物理单元,即位于一个地方,或者也分布到多个网络单元上。根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。在本发明各个实施例中的各功能单元集成在一个处理单元中,也是各个单元单独物理存在,也两个或两个以上单元集成在一个单元中。
本领域普通技术人员理解:实现上述方法实施例的全部或部分步骤通过程序指令相关的硬件来完成,前述的程序存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (20)
- 一种利用压力触控生成密码的方法,其特征在于,所述方法包括:设备判断当前界面是否处于密码输入状态;当所述设备确定所述当前界面处于密码输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码。
- 根据权利要求1所述的方法,其特征在于,所述当前界面是具有输入焦点的用户界面。
- 根据权利要求1或2所述的方法,其特征在于,所述设备判断当前界面是否处于密码输入状态,具体为:所述设备根据所述当前界面的输入框类型判断所述当前界面是否处于密码输入状态。
- 根据权利要求3所述的方法,其特征在于,当所述设备获取到所述输入框类型为android:inputType=“textPassword”时,所述设备确定所述当前界面处于密码输入状态。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述设备确定所述当前界面不处于密码输入状态时,根据当前界面的输入框类型调整输入法的输入模式。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:验证所述生成的密码。
- 根据权利要求1所述的方法,其特征在于,所述设备根据所述压力值对所述字符进行处理具体包括:如果有多个密码生成算法,根据用户选择的一个密码生成算法生成密码。
- 根据权利要求1或7所述的方法,其特征在于,所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Yn是否小于预设的第一阈值Ymax1;当所述设备确定Yn<Ymax1时,生成密码为Xn。
- 根据权利要求1或7所述的方法,其特征在于,所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Yn是否大于预设的第二阈值Ymax2;当所述设备确定Yn>Ymax2时,生成密码为Xn,Xn。
- 根据权利要求1或7所述的方法,其特征在于,所述输入信息具体为(X1,Y1),(X2,Y2),……,(Xk-1,Yk-1),(Xk,Yk),(Xk+1,Yk+1),……,(Xn,Yn),其中,X1,X2,……,Xk-1,Xk,Xk+1,……,Xn为输入的字符,Y1,Y2,……,Yk-1,Yk,Yk+1,……,Yn为所述字符所对应的压力值;其中k、n为自然数,并且,n≥k>1;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Y1,Y2,…,Yk-1,Yk,Yk+1,……,Yn是否大于预设的第三阈值Ymax3;当所述设备确定Yk-1为第一个大于所述第三阈值Ymax3的压力值时,生成密码为Xk-1,Xk,Xk+1,……,Xn。
- 根据权利要求1或7所述的方法,其特征在于,所述输入信息具体为(X1,Y1),(X2,Y2),其中,X1,X2为输入的字符,Y1,Y2为所述字符所对应的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码,具体为:所述设备判断Y1和Y2的大小;如果Y2>Y1,生成密码为X2,X1;如果Y2≤Y1,生成密码为X1,X2。
- 一种装置,包括压力触摸屏,一个或多个处理器,存储器,一个或多个程序;所述一个或多个程序被存储在所述存储器中并被配置为被所述一个或多个处理器执行,所述一个或多个程序包括指令,所述指令用于:设备判断当前界面是否处于密码输入状态;当所述设备确定所述当前界面处于密码输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述设备根据所述压力值对所述字符进行处理,生成密码。
- 一种装置,包括压力触摸屏,处理器,存储器;所述处理器判断当前界面是否处于密码输入状态,当所述处理器确定当前界面处于密码输入状态时,所述压力触摸屏接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述处理器根据所述压力值对所述字符进行处理,生成密码;所述存储器用于存储密码生成算法。
- 根据权利要求13所述的装置,其特征在于,所述处理器判断当前界面 是否处于密码输入状态,具体为:所述处理器根据所述当前界面的输入框类型判断所述当前界面是否处于密码输入状态。
- 根据权利要求13或14所述的装置,其特征在于,所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述处理器根据所述压力值对所述字符进行处理,生成密码,具体为:所述处理器判断Yn是否小于预设的第一阈值Ymax1;当所述处理器确定Yn<Ymax1时,生成密码为Xn。
- 根据权利要求13或14所述的装置,其特征在于,所述输入信息为(Xn,Yn),其中,Xn为输入的字符,Yn为Xn所对应的压力值,n为自然数;所述处理器根据所述压力值对所述字符进行处理,生成密码,具体为:所述处理器判断Yn是否大于预设的第二阈值Ymax2;当所述处理器确定Yn>Ymax2时,生成密码为Xn,Xn。
- 根据权利要求13或14所述的装置,其特征在于,所述输入信息具体为(X1,Y1),(X2,Y2),……,(Xk-1,Yk-1),(Xk,Yk),(Xk+1,Yk+1),……,(Xn,Yn),其中,X1,X2,……,Xk-1,Xk,Xk+1,……,Xn为输入的字符,Y1,Y2,……,Yk-1,Yk,Yk+1,……,Yn为所述字符所对应的压力值;其中k、n为自然数,并且,n≥k>1;所述处理器根据所述压力值对所述字符进行处理,生成密码,具体为:所述处理器判断Y1,Y2,…,Yk-1,Yk,Yk+1,……,Yn是否大于预设的第三阈值Ymax3;当所述处理器确定Yk-1为第一个大于所述第三阈值Ymax3的压力值时,生成密码为Xk-1,Xk,Xk+1,……,Xn。
- 根据权利要求13或14所述的装置,其特征在于,所述输入信息具体为(X1,Y1),(X2,Y2),其中,X1,X2为输入的字符,Y1,Y2为所述字符所对应的压力值;所述处理器根据所述压力值对所述字符进行处理,生成密码,具体为:所述处理器判断Y1和Y2的大小;如果Y2>Y1,生成密码为X2,X1;如果Y2≤Y1,生成密码为X1,X2。
- 一种利用压力触控生成密码的装置,其特征在于,所述装置包括状态判断单元,输入接收单元,密码生成单元;其中,所述状态判断单元,用于判断当前界面是否处于密码输入状态;所述输入接收单元,用于当所述状态判断单元确定所述当前界面处于密码输入状态时,接收用户的输入信息,所述输入信息包括字符和输入所述字符时产生的压力值;所述密码生成单元,用于根据所述压力值对所述字符进行处理,生成密码。
- 一种存储一个或多个程序的计算机存储介质,所述一个或多个程序包括指令,所述指令用于执行如权利要求1至11中任一权利要求所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/087190 WO2017219376A1 (zh) | 2016-06-25 | 2016-06-25 | 利用压力触控生成密码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107851140A true CN107851140A (zh) | 2018-03-27 |
CN107851140B CN107851140B (zh) | 2020-11-10 |
Family
ID=60783700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680016735.0A Active CN107851140B (zh) | 2016-06-25 | 2016-06-25 | 利用压力触控生成密码的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180336339A1 (zh) |
EP (1) | EP3364326B1 (zh) |
CN (1) | CN107851140B (zh) |
WO (1) | WO2017219376A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201612509D0 (en) * | 2016-07-19 | 2016-08-31 | Loughran Nick | Messaging application |
US10445519B2 (en) * | 2017-08-29 | 2019-10-15 | Blackberry Limited | System and method for data input resistant to capture |
CN111460533A (zh) * | 2020-03-03 | 2020-07-28 | 张家口浩扬科技有限公司 | 一种防窥密码器及密码防窥方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102203794A (zh) * | 2011-06-01 | 2011-09-28 | 华为终端有限公司 | 一种终端认证方法及装置 |
CN105354458A (zh) * | 2015-11-03 | 2016-02-24 | 广东欧珀移动通信有限公司 | 密码输入验证方法和系统 |
CN105426100A (zh) * | 2015-10-30 | 2016-03-23 | 努比亚技术有限公司 | 基于压力传感器的密码输入方法和装置 |
CN105446622A (zh) * | 2015-11-11 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 增强型交易密码的输入方法和装置 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3440763B2 (ja) * | 1996-10-25 | 2003-08-25 | 富士ゼロックス株式会社 | 暗号化装置、復号装置、機密データ処理装置、及び情報処理装置 |
KR100306277B1 (ko) * | 1998-05-29 | 2001-11-02 | 윤종용 | 문자인식디지털휴대용전화기에서비밀기호등록및확인방법 |
FR2784530B1 (fr) * | 1998-10-08 | 2000-11-10 | Cit Alcatel | Procede de protection d'un terminal de radiocummunication contre un usage non autorise |
US6603984B2 (en) * | 2000-05-16 | 2003-08-05 | At&T Wireless Services, Inc. | Methods and systems for managing information on wireless data devices |
US7502936B2 (en) * | 2001-02-14 | 2009-03-10 | Jsm Technologies, L.L.C. | System and method providing secure access to a computer system |
US7106220B2 (en) * | 2001-09-18 | 2006-09-12 | Karen Gourgey | Tactile graphic-based interactive overlay assembly and computer system for the visually impaired |
EP1484690A1 (en) * | 2002-02-14 | 2004-12-08 | Hironori Wakayama | Authenticating method |
US7367053B2 (en) * | 2002-10-11 | 2008-04-29 | Yamatake Corporation | Password strength checking method and apparatus and program and recording medium thereof, password creation assisting method and program thereof, and password creating method and program thereof |
GB0229727D0 (en) * | 2002-12-19 | 2003-01-29 | Ibm | Improved password entry |
US20080177994A1 (en) * | 2003-01-12 | 2008-07-24 | Yaron Mayer | System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows |
US6871288B2 (en) * | 2003-02-21 | 2005-03-22 | Ronald K. Russikoff | Computerized password verification system and method for ATM transactions |
US7948938B2 (en) * | 2004-04-30 | 2011-05-24 | Research In Motion Limited | Wireless communication device with duress password protection and related method |
CN101268436A (zh) * | 2004-08-02 | 2008-09-17 | 皇家飞利浦电子股份有限公司 | 用于设置浮点值的触摸屏滑块 |
CN101313279A (zh) * | 2005-10-14 | 2008-11-26 | 塞门铁克操作公司 | 一种在数据存储器中用于时间线压缩的技术 |
US9768963B2 (en) * | 2005-12-09 | 2017-09-19 | Citicorp Credit Services, Inc. (Usa) | Methods and systems for secure user authentication |
US9002750B1 (en) * | 2005-12-09 | 2015-04-07 | Citicorp Credit Services, Inc. (Usa) | Methods and systems for secure user authentication |
US20080235788A1 (en) * | 2007-03-23 | 2008-09-25 | University Of Ottawa | Haptic-based graphical password |
US8683582B2 (en) * | 2008-06-16 | 2014-03-25 | Qualcomm Incorporated | Method and system for graphical passcode security |
US20100039393A1 (en) * | 2008-08-15 | 2010-02-18 | At&T Intellectual Property I, L.P. | Text entry on touch screen cellphones by different pressure levels |
US8326358B2 (en) * | 2009-01-30 | 2012-12-04 | Research In Motion Limited | System and method for access control in a portable electronic device |
US9521142B2 (en) * | 2009-02-03 | 2016-12-13 | Inbay Technologies Inc. | System and method for generating passwords using key inputs and contextual inputs |
US9672335B2 (en) * | 2009-12-17 | 2017-06-06 | Laird H Shuart | Cognitive-based logon process for computing device |
US8884913B2 (en) * | 2010-03-19 | 2014-11-11 | Smart Skin Technologies | Systems and methods for determining the location and pressure of a touchload applied to a touchpad |
US8536978B2 (en) * | 2010-11-19 | 2013-09-17 | Blackberry Limited | Detection of duress condition at a communication device |
US20120144460A1 (en) * | 2010-12-07 | 2012-06-07 | Netanel Raisch | Methods and devices for access authenication on a computer |
GB201105774D0 (en) * | 2011-04-05 | 2011-05-18 | Visa Europe Ltd | Payment system |
GB201106943D0 (en) * | 2011-04-27 | 2011-06-01 | Burkill Vance | Improvements in or relating to password generation, recall and protection |
CN102841696B (zh) * | 2011-06-24 | 2015-07-29 | 国基电子(上海)有限公司 | 电子设备及其输入密码的方法 |
US8145913B1 (en) * | 2011-08-30 | 2012-03-27 | Kaspersky Lab Zao | System and method for password protection |
TWI474703B (zh) * | 2011-09-30 | 2015-02-21 | Ibm | 提供時間比例式密碼/盤問鑑定的方法與電腦裝置 |
JP2013084029A (ja) * | 2011-10-06 | 2013-05-09 | Sony Corp | 表示制御装置 |
US9262603B2 (en) * | 2011-10-21 | 2016-02-16 | International Business Machines Corporation | Advanced authentication technology for computing devices |
EP2809404A4 (en) * | 2012-01-31 | 2016-02-24 | Smart Skin Technologies Inc | PRINT IMAGING AND ALIGNMENT MEASUREMENT SYSTEM |
SG194267A1 (en) * | 2012-05-03 | 2013-11-29 | C3S Pte Ltd | Method and system for protecting a password during an authentication process |
US8942431B2 (en) * | 2012-06-24 | 2015-01-27 | Neurologix Security Group Inc | Biometrics based methods and systems for user authentication |
CN102982269A (zh) | 2012-10-25 | 2013-03-20 | 北京大学 | 基于生物计量特征的防偷窥密码认证方法及系统 |
US20140180856A1 (en) * | 2012-12-21 | 2014-06-26 | Research In Motion Limited | System providing wireless network access responsive to completed transaction payment and related methods |
US9060057B1 (en) * | 2013-03-07 | 2015-06-16 | Serdar Artun Danis | Systems and methods for caller ID authentication, spoof detection and list based call handling |
US9332119B1 (en) * | 2013-03-07 | 2016-05-03 | Serdar Artun Danis | Systems and methods for call destination authenticaiton and call forwarding detection |
US20150046993A1 (en) * | 2013-08-07 | 2015-02-12 | Leo ARCEO | Password authentication method and system |
US9342673B2 (en) * | 2014-03-26 | 2016-05-17 | Motorola Solutions, Inc. | Method for user authentication in a device comprising a touch screen |
US10146330B2 (en) * | 2014-06-18 | 2018-12-04 | Matthew Swan Lawrence | Systems and methods for character and command input |
US9489663B2 (en) * | 2014-09-30 | 2016-11-08 | Sap | Keypad for the entry of authentication data |
US9870485B2 (en) * | 2014-11-12 | 2018-01-16 | Nec Corporation | System and method for detecting sensitive user input leakages in software applications |
US20160188855A1 (en) * | 2014-12-26 | 2016-06-30 | Michael Ara Bezjian | Secure PIN Entry |
JP6547577B2 (ja) * | 2015-10-15 | 2019-07-24 | 富士通株式会社 | 検査装置、検査プログラムおよび検査方法 |
US20170140135A1 (en) * | 2015-11-16 | 2017-05-18 | Le Holdings (Beijing) Co., Ltd. | Password input method, terminal appartus and electronic device |
JP6746361B2 (ja) * | 2016-04-14 | 2020-08-26 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
US10248781B2 (en) * | 2016-05-16 | 2019-04-02 | Blackberry Limited | Method of passcode unlock using force detection |
US20190100152A1 (en) * | 2017-10-02 | 2019-04-04 | Panasonic Avionics Corporation | Entertainment system and method |
-
2016
- 2016-06-25 US US15/776,025 patent/US20180336339A1/en not_active Abandoned
- 2016-06-25 WO PCT/CN2016/087190 patent/WO2017219376A1/zh active Application Filing
- 2016-06-25 CN CN201680016735.0A patent/CN107851140B/zh active Active
- 2016-06-25 EP EP16905916.9A patent/EP3364326B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102203794A (zh) * | 2011-06-01 | 2011-09-28 | 华为终端有限公司 | 一种终端认证方法及装置 |
CN105426100A (zh) * | 2015-10-30 | 2016-03-23 | 努比亚技术有限公司 | 基于压力传感器的密码输入方法和装置 |
CN105354458A (zh) * | 2015-11-03 | 2016-02-24 | 广东欧珀移动通信有限公司 | 密码输入验证方法和系统 |
CN105446622A (zh) * | 2015-11-11 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 增强型交易密码的输入方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20180336339A1 (en) | 2018-11-22 |
EP3364326A1 (en) | 2018-08-22 |
EP3364326B1 (en) | 2020-05-13 |
CN107851140B (zh) | 2020-11-10 |
EP3364326A4 (en) | 2018-11-14 |
WO2017219376A1 (zh) | 2017-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11995171B2 (en) | User interface for managing access to credentials for use in an operation | |
Diao et al. | No pardon for the interruption: New inference attacks on android through interrupt timing analysis | |
CN107402663B (zh) | 指纹验证方法和用于执行该方法的电子设备 | |
US11232339B2 (en) | Handheld electronic device capable of magnetic field communication and payment method using the same | |
US9027117B2 (en) | Multiple-access-level lock screen | |
WO2019205065A1 (zh) | 快速打开应用或应用功能的方法及终端 | |
US10671258B2 (en) | Electronic device having hole area and method of controlling hole area thereof | |
US20130227409A1 (en) | Integrating sensation functionalities into social networking services and applications | |
US10242167B2 (en) | Method for user authentication and electronic device implementing the same | |
CN107526509A (zh) | 消息显示方法、装置及移动终端 | |
CN106462713B (zh) | 终端的界面显示方法和终端 | |
CN107526477B (zh) | 屏幕解锁方法、装置及终端 | |
KR102095912B1 (ko) | 보안 기능 운용 방법 및 이를 지원하는 전자 장치 | |
US20210200847A1 (en) | Systems and methods of providing seamless and secure operations of authenticating and advertising on mobile communication terminals | |
WO2018214748A1 (zh) | 应用界面的显示方法、装置、终端及存储介质 | |
WO2015200618A1 (en) | Light dismiss manager | |
US10990207B2 (en) | Electronic device and screen provision method of electronic device | |
CN107851140A (zh) | 利用压力触控生成密码的方法及装置 | |
WO2017193645A1 (zh) | 一种显示数据的方法、装置和终端 | |
US20150325254A1 (en) | Method and apparatus for displaying speech recognition information | |
CN109446773A (zh) | 一种验证方式提示方法及终端设备 | |
CN110232275A (zh) | 一种控制方法及终端设备 | |
US20240020367A1 (en) | Method for Performing Biometric Feature Authentication When Multiple Application Interfaces are Simultaneously Displayed | |
US11687630B2 (en) | Secured authentication techniques with dynamism and connected overlapping inputs from various sources | |
CN117724780A (zh) | 一种信息获取方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210428 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |