隐藏替换显示输入框的构建方法、装置、电子设备及介质与流程

文档序号:28747312发布日期:2022-02-07 23:40阅读:59来源:国知局
隐藏替换显示输入框的构建方法、装置、电子设备及介质与流程

1.本技术涉及字符串加密领域,尤其涉及一种隐藏替换显示输入框的构建方法、装置、电子设备及介质。


背景技术:

2.随着电子技术及通信技术的发展,无线移动通信产业发展迅速,移动终端已经成为人们日常工作、生活的必备品。人们通常在移动终端中安装各种应用客户端,其中一些涉及个人隐私和安全的应用客户端需要验证身份才能使用,验证用户输入的密码是较为常用的验证方式。现有技术中,最普遍密码输入方式都是通过预设的多个数字和字母按键进行简单的按键输入,将输入信息和预设的密码数据比较,进行密码验证。
3.智能移动终端,大部分使用触摸屏显示的虚拟按键进行信息的输入,用户输入密码时可能会被旁边的人窥视,造成密码泄露,又或者是恶意截屏软件通过截取用户输入密码时屏幕的显示画面,以获取用户的输入按键以及按键顺序,进而获取用户的密码,造成用户输入密码安全性得不到保证,造成个人隐私泄露。因此,当用户在输入框中输入密码或用户名等字符时,系统往往会将用户输入的字符用一个特殊符号进行屏蔽(例如,“*”字符)。通过这样的方式,在一定程度上可以防止用户输入的字符被他人偷窥,保证安全性。
4.但是这种密码遮盖是全遮盖,如果用于输入账号则有很多不便,如用户想展示前3位或者后4位的账号,以确认输入是否正确。因此,如何在解决在保证账号不被泄密的情况下,用户可以基于显示的字符可以判断其输入的账号是否有误,是技术人员日益关注的问题。


技术实现要素:

5.本技术实施例提供了一种隐藏替换显示输入框的构建方法、装置、电子设备及介质,解决了用户在输入字符串的过程中,因避免字符串中的字符泄露,而将字符串全部隐藏,致使用户无法获知是否输错字符,而造成用户多次输入字符串,进而耗费用户时间的问题。
6.第一方面,本技术实施例提供了一种隐藏替换显示输入框的构建方法,包括:构建第一图层和第二图层;基于第二图层接收用户输入的字符串;该字符串包括m个字符,该m个字符的类型至少包括普通字符、大写字母字符、特殊字符中的两种类型;在第一图层上显示对该输入的字符串处理后的字符串;其中,该处理后的字符串包括n个隐藏替换显示的字符和m-n个正常显示的字符;正常显示的字符的数量和类型为根据隐藏替换显示规则确认。
7.上述实施例,在用户输入字符串之后,在字符串显示框(第一图层)中显示的字符串为通过隐藏替换显示规则进行部分加密隐藏的字符串,即用户可以看见该字符串中的部分字符,通过上述方式,在保证用户输入的字符串不会被他人窥见后,造成字符串的泄露的同时,保证了用户可以通过该字符串中可见的字符来判断是否输入错误,从而避免用户多次输入字符串,节约了用户的时间。
8.在一种可能实现的方式中,基于第二图层接收用户输入的字符串之后,包括:根据用户输入的字符串,在第一图层上同步显示隐藏替换的字符;判断第二图层中未接收新增字符的时间是否大于或等于第一时间阈值;若判断为是,对该字符串进行处理。
9.上述实施例,通过判断第二图层对未接收新增字符的时长来判断用户是否完成对字符串的输入,以便可以对用户输入的字符串根据预设的隐藏替换显示规则,对该字符串进行部分替换加密。
10.在一种可能实现的方式中,构建第一图层和第二图层,包括:使用第一div标签在网页中创建主图层,该主图层为所述网页中用于执行登录/注册功能的分区;使用第二div标签在所述主图层中创建第一图层,第一图层为用于显示加密字符串的分区;在主图层上构建并加载输入函数,得到第二图层。这样,第一图层上显示的处理后的字符串可以覆盖住第二图层上接收用户的字符串,从而实现在网页界面上对字符串中部分字符的替换和隐藏。
11.在一种可能实现的方式中,基于第二图层接收用户输入的字符串之前,还包括:通过层叠样式表移动第一图层的位置,使得第一图层覆盖在第二图层上;在第二图层上设置pointerevents属性,使得鼠标点击事件能够透传到第二图层。这样,第一图层上显示的处理后的字符串可以覆盖住第二图层上接收用户的字符串,从而实现在网页界面上对字符串中部分字符的替换和隐藏。
12.在一种可能实现的方式中,对字符串进行处理,包括:根据公式n=[(l1/m)*l1+(l2/m)*l2+(l3/m)*l3],确定字符串中隐藏替换的字符个数n;根据隐藏替换显示规则,对该字符串中n个字符进行隐藏替换;其中,m为所述字符串中字符的数量,l1为字符串中普通字符的数量,l2为字符串中大写字母字符的数量,l3为字符串中特殊字符的数量。
[0013]
在上述实施例中,基于字符串长度和字符串中的字符组成确定字符中加密替换字符的数量,通过上述方式计算出的加密替换字符的数量,在保证经过加密替换后的字符串不会因他人窥看而被破解,造成字符串泄露的同时,也保证了用户可以已与该加密替换后的字符串中未被加密替换的字符(正常显示的字符)判断自己是否输错字符串。
[0014]
在一种可能实现的方式中,根据所述隐藏替换显示规则,对该字符串中n个字符进行隐藏替换,包括:判断该字符串中是否存在普通字符;在存在普通字符的情况下,检测l1是否大于或等于n;若检测为是,将该字符串中任意n个普通字符进行隐藏替换;若检测为否,确定该字符串中是否存在大写字母字符;若存在大写字母字符,分析(l1+l2)是否大于或等于n;若分析为是,将l1个普通字符和任意n-l1个大写字母字符进行隐藏替换;若分析为否,将该字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换;若不存在大写字母字符,将该字符串中的全部普通字符以及任意n-l1个特殊字符进行隐藏替换;在不存在普通字符的情况下,检测该字符串中是否存在大写字母字符;若存在大写字母字符,确定该l2是否大于或等于n;确定为是,对该字符串中任意n个大写字母字符进行隐藏替换;确定为否,对该字符串中所有大写字母以及该字符串中任意n-l2个特殊字符进行隐藏替换;若不存在大写字母,对该字符串中任意n个字符进行隐藏替换。
[0015]
在上述实施例中,在确定加密替换的字符数量后,依据不易输错的字符(普通字符)、容易输错的字符(大写字母字符)、特别容易输错的字符(特殊字符)的顺序对字符串中的部分字符,进行加密替换,在保证经过加密替换后的字符串不会因他人窥看而被破解,造
成字符串泄露的同时,也保证了用户可以已与该加密替换后的字符串中未被加密替换的字符(正常显示的字符)判断自己是否输错字符串,从而减少了用户重复输入字符串的次数,提高了用户体验。
[0016]
在一种可能实现的方式中,对所述字符串进行处理,还包括:判断所述字符串中是否存在普通字符;在存在普通字符的情况下,检测m1是否大于或等于3m/4,所述m为所述字符串字符数量,所述m1为所述字符串中普通字符的数量;若检测为是,根据公式n=[m1/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个普通字符进行隐藏替换;若检测为否,确定所述字符串中是否存在大写字母字符;若存在大写字母字符,分析(m1+m2)是否大于或等于3m/4,所述m2为大写字母字符的个数;若分析为是,根据公式n=m1+[m2/2]计算隐藏替换的字符数量n,并将m1个普通字符和任意[m2/2]个大写字母字符进行隐藏替换;若分析为否,根据公式n=m1+m2+[(m-m1-m2)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、全部大写字母字符以及任意[(m-m1-m2)/2]个特殊字符进行隐藏替换;若不存在大写字母字符,根据公式n=m1+[(m-m1)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、任意[(m-m1)/2]个特殊字符进行隐藏替换;在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;若存在大写字母字符,确定所述m2是否大于或等于3m/4;确定为是,根据公式n=[m2/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个大写字母字符进行隐藏替换;确定为否,根据公式n=m2+[(m-m2)/2]对所示字符串中所有大写字母以及所述字符串中任意n-m2个特殊字符进行加密;若不存在大写字母,根据公式n=[m/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个特殊字符进行隐藏替换。
[0017]
在上述实施例中,先根据字符串中各类型字符的个数以及加密替换字符数量的替换规则确定加密替换的字符数量,然后,依据不易输错的字符(普通字符)、容易输错的字符(大写字母字符)、特别容易输错的字符(特殊字符)的顺序对字符串中的部分字符,进行加密替换,在保证经过加密替换后的字符串不会因他人窥看而被破解,造成字符串泄露的同时,也保证了用户可以已与该加密替换后的字符串中未被加密替换的字符(正常显示的字符)判断自己是否输错字符串,从而减少了用户重复输入字符串的次数,提高了用户体验。
[0018]
第二方面,本技术实施例提供了一种隐藏替换显示输入框的构建装置,该装置包括:
[0019]
图层构建模块,用于构建第一图层和第二图层;
[0020]
字符串接收模块,用于基于第二图层接收用户输入的字符串;
[0021]
第一显示模块,用于在所述第一图层上显示对所述用户输入的字符串处理后的字符串。
[0022]
在一种可能实现的方式中,该隐藏替换显示输入框的构建装置还包括:第二显示模块、第一判断模块、字符串处理模块,其中:
[0023]
第二显示模块,用于在所述第一图层上同步显示隐藏替换的字符;
[0024]
第一判断模块,用于判断所述第二图层中未接收新增字符的时间是否大于或等于第一时间阈值;
[0025]
字符串处理模块,用于在第一判断模块判断为是的情况下,对所述字符串进行处理。
[0026]
在一种可能实现的方式中,所述图层模块在用于构建第一图层和第二图层时,用于:
[0027]
使用第一div标签在网页中创建主图层,所述主图层为所述网页中用于执行登录/注册功能的分区;
[0028]
使用第二div标签在所述主图层中创建第一图层,所述第一图层为用于显示加密字符串的分区;
[0029]
在所述主图层上构建并加载输入函数,得到所述第二图层。
[0030]
在一种可能实现的方式中,该隐藏替换显示输入框的构建装置还包括:图层位置调整模块、点击事件设置模块,其中:
[0031]
图层位置调整模块,用于通过层叠样式表移动所述第一图层的位置,使得所述第一图层覆盖在所述第二图层上;
[0032]
点击事件设置模块,用于在所述第二图层上设置pointerevents属性,使得鼠标点击事件能够透传到所述第二图层。
[0033]
在一种可能实现的方式中,所述字符串处理模块对字符串进行处理,包括:
[0034]
根据公式n=[(l1/m)*l1+(l2/m)*l2+(l3/m)*l3],确定字符串中隐藏替换的字符个数n;
[0035]
根据所述隐藏替换显示规则,对所述字符串中n个字符进行隐藏替换。
[0036]
在一种可能实现的方式中,所述字符串处理模块根据所述隐藏替换显示规则,对所述字符串中n个字符进行隐藏替换,具体包括:
[0037]
判断所述字符串中是否存在普通字符;
[0038]
在存在普通字符的情况下,检测所述l1是否大于或等于所述n;
[0039]
若检测为是,将所述字符串中任意n个普通字符进行隐藏替换;
[0040]
若检测为否,确定所述字符串中是否存在大写字母字符;
[0041]
若存在大写字母字符,分析(l1+l2)是否大于或等于n;
[0042]
若分析为是,将l1个普通字符和任意n-l1个大写字母字符进行隐藏替换;
[0043]
若分析为否,将所述字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换;
[0044]
若不存在大写字母字符,将所述字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换;
[0045]
在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;
[0046]
若存在大写字母字符,确定所述l2是否大于或等于n;
[0047]
确定为是,对所述字符串中任意n个大写字母字符进行隐藏替换;
[0048]
确定为否,对所示字符串中所有大写字母以及所述字符串中任意n-l2个特殊字符进行隐藏替换;
[0049]
若不存在大写字母,对所述字符串中任意n个字符进行隐藏替换。
[0050]
在一种可能实现的方式中,所述字符串处理模块对字符串进行处理,包括:
[0051]
判断所述字符串中是否存在普通字符;
[0052]
在存在普通字符的情况下,检测m1是否大于或等于3m/4,所述m为所述字符串字符数量,所述m1为所述字符串中普通字符的数量;
[0053]
若检测为是,根据公式n=[m1/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个普通字符进行隐藏替换;
[0054]
若检测为否,确定所述字符串中是否存在大写字母字符;
[0055]
若存在大写字母字符,分析(m1+m2)是否大于或等于3m/4,所述m2为大写字母字符的个数;
[0056]
若分析为是,根据公式n=m1+[m2/2]计算隐藏替换的字符数量n,并将m1个普通字符和任意[m2/2]个大写字母字符进行隐藏替换;
[0057]
若分析为否,根据公式n=m1+m2+[(m-m1-m2)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、全部大写字母字符以及任意[(m-m1-m2)/2]个特殊字符进行隐藏替换;
[0058]
若不存在大写字母字符,根据公式n=m1+[(m-m1)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、任意[(m-m1)/2]个特殊字符进行隐藏替换;
[0059]
在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;
[0060]
若存在大写字母字符,确定所述m2是否大于或等于3m/4;
[0061]
确定为是,根据公式n=[m2/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个大写字母字符进行隐藏替换;
[0062]
确定为否,根据公式n=m2+[(m-m2)/2]对所示字符串中所有大写字母以及所述字符串中任意n-m2个特殊字符进行加密;
[0063]
若不存在大写字母,根据公式n=[m/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个特殊字符进行隐藏替换。
[0064]
第三方面,本技术实施例提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如下步骤:构建第一图层和第二图层;基于所述第二图层接收用户输入的字符串;所述字符串包括m个字符,所述m个字符的类型至少包括普通字符、大写字母字符、特殊字符中的两种类型;在所述第一图层上显示对所述输入的字符串处理后的字符串;其中,所述处理后的字符串包括n个隐藏替换显示的字符和m-n个正常显示的字符;所述正常显示的字符的数量和类型为根据隐藏替换显示规则确认。
[0065]
在一种可能实现的方式中,所述处理器基于所述第二图层接收用户输入的字符串之后,用于:根据所述用户输入的字符串,在所述第一图层上同步显示隐藏替换的字符;判断所述第二图层中未接收新增字符的时间是否大于或等于第一时间阈值;若判断为是,对所述字符串进行处理。
[0066]
在一种可能实现的方式中,所述处理器构建第一图层和第二图层,用于:使用第一div标签在网页中创建主图层,所述主图层为所述网页中用于执行登录/注册功能的分区;使用第二div标签在所述主图层中创建第一图层,所述第一图层为用于显示加密字符串的分区;在所述主图层上构建并加载输入函数,得到所述第二图层。
[0067]
在一种可能实现的方式中,所述处理器接收用户输入的字符串之前,还用于:通过层叠样式表移动所述第一图层的位置,使得所述第一图层覆盖在所述第二图层上;在所述第二图层上设置pointerevents属性,使得鼠标点击事件能够透传到所述第二图层。
[0068]
在一种可能实现的方式中,所述处理器对所述字符串进行处理,用于:根据公式n=[(l1/m)*l1+(l2/m)*l2+(l3/m)*l3],确定字符串中隐藏替换的字符个数n;根据所述隐藏替换显示规则,对所述字符串中n个字符进行隐藏替换;其中,所述m为所述字符串中字符的数量,所述l1为所述字符串中普通字符的数量,所述l2为所述字符串中大写字母字符的数量,所述l3为所述字符串中特殊字符的数量。
[0069]
在一种可能实现的方式中,所述处理器根据所述隐藏替换显示规则,对所述字符串中n个字符进行隐藏替换,用于:判断所述字符串中是否存在普通字符;在存在普通字符的情况下,检测所述l1是否大于或等于所述n;若检测为是,将所述字符串中任意n个普通字符进行隐藏替换;若检测为否,确定所述字符串中是否存在大写字母字符;若存在大写字母字符,分析(l1+l2)是否大于或等于n;若分析为是,将l1个普通字符和任意n-l1个大写字母字符进行隐藏替换;若分析为否,将所述字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换;若不存在大写字母字符,将所述字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换;在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;若存在大写字母字符,确定所述l2是否大于或等于n;确定为是,对所述字符串中任意n个大写字母字符进行隐藏替换;确定为否,对所示字符串中所有大写字母以及所述字符串中任意n-l2个特殊字符进行隐藏替换;若不存在大写字母,对所述字符串中任意n个字符进行隐藏替换。
[0070]
在一种可能实现的方式中,所述处理器对所述字符串进行处理,用于:判断所述字符串中是否存在普通字符;在存在普通字符的情况下,检测m1是否大于或等于3m/4,所述m为所述字符串字符数量,所述m1为所述字符串中普通字符的数量;若检测为是,根据公式n=[m1/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个普通字符进行隐藏替换;若检测为否,确定所述字符串中是否存在大写字母字符;若存在大写字母字符,分析(m1+m2)是否大于或等于3m/4,所述m2为大写字母字符的个数;若分析为是,根据公式n=m1+[m2/2]计算隐藏替换的字符数量n,并将m1个普通字符和任意[m2/2]个大写字母字符进行隐藏替换;若分析为否,根据公式n=m1+m2+[(m-m1-m2)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、全部大写字母字符以及任意[(m-m1-m2)/2]个特殊字符进行隐藏替换;若不存在大写字母字符,根据公式n=m1+[(m-m1)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、任意[(m-m1)/2]个特殊字符进行隐藏替换;在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;若存在大写字母字符,确定所述m2是否大于或等于3m/4;确定为是,根据公式n=[m2/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个大写字母字符进行隐藏替换;确定为否,根据公式n=m2+[(m-m2)/2]对所示字符串中所有大写字母以及所述字符串中任意n-m2个特殊字符进行加密;若不存在大写字母,根据公式n=[m/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个特殊字符进行隐藏替换。
[0071]
第四方面,本技术实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
附图说明
[0072]
图1a是本技术实施例提供的一种用户进行系统登录时进行密码输入的一组示例性用户界面图;
[0073]
图1b是本技术实施例提供的另一种用户进行系统登录时进行密码输入的一组示例性用户界面图;
[0074]
图2是本技术实施例提供的用户在登录系统加密密码串显示的效果图;
[0075]
图3是本技术实施例提供的一种加密输入框构建的流程图;
[0076]
图4为本技术实施例提供的一种主图层示例图;
[0077]
图5为本技术实施例提供的一种主图层与第一图层、第二图层关系的示例图;
[0078]
图6为本技术实施例提供的一种设置pointerevents属性后的用户界面示例性效果图;
[0079]
图7为本技术实施例提供的一种第一图层与第二图层重叠区域中字符串显示的示例性效果图;
[0080]
图8为本技术实施例提供的一种字符串处理的流程图;
[0081]
图9为本技术实施例提供的另一种字符串处理的流程图;
[0082]
图10为本技术提供的一种隐藏替换显示输入框的构建装置的结构示意图;
[0083]
图11为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0084]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0085]
本技术的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
[0086]
附图中仅示出了与本技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0087]
在本说明书中使用的术语“部件”、“模块”、“系统”、“单元”等用于表示计算机相关
的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
[0088]
账号登录是管理系统的第一环,是使用管理系统的必经之路。现在的账号系统往往使用手机号码等私人信息,我们在输入的时候,就有被附近的人阅读到的风险。《input》元素里有一种类型叫做"password",它可以让用户更加安全的输入密码。这个元素是作为一行纯文本编辑器控件呈现的,其中文本被遮蔽以致于无法读取,通常通过用诸如“*”或点“·”等特殊字符来替代用户输入的字符来实现的,这个符号会根据用户的浏览器和操作系统来具体显示哪个。
[0089]
但是,这种密码的遮盖是全覆盖的,用户在输入密码的过程中,如果存在不小心输错字符的情况,由于密码被特殊字符遮盖,使得用户不能及时修正输错的字符,必须重新输入密码。图1a是本技术实施例提供的用户登录人事系统的示例性界面,如图1a所示,该登录界面包括用户名输入框和密码输入框,用户名输入框对输入的字符不进行字符替换,显示用户输入的字符。密码输入框对输入的字符进行替换,显示“*”,假设正确密码为1234@67,用户在输入密码的过程中,由于键盘的尺寸过小等因素,导致用户输错字符,用户输入的密码为1234%67,电子设备上显示的字符为*******,用户无法判断其输入的字符是否准确。当电子设备100检测到用户针对“确定”控件的单击操作后,响应该操作,电子设备将用户输入的密码字符与系统内存储的正确密码字符进行对比,对比不一致,电子设备100显示如图1b所示的提示信息“密码错误,请重新输入”。
[0090]
这样,就造成用户可能要多次输入用户名或密码才能登录系统,大大耗费了用户登录的时间,给用户带来极差的用户体验。
[0091]
为了解决上述问题,本技术实施例提供了一种隐藏替换显示输入框的构建方法,根据用户在该输入框中输入的字符串长度以及输入的字符复杂程度,对用户在该输入框中输入的字符串进行选择性的隐藏替换,即:只对字符串中的部分字符进行用预设的字符进行替换(例如,将需要替换的字符全部用“*”来显示)。这样,在保证了用户输入的字符串不被泄露的同时,又提高了字符串的可读性,使得用户在输入字符串的过程中,能够及时对易输错的字符进行修正,在用户登录系统等场景下,能够减少用户输入密码的次数。
[0092]
示例性的,如图2所示,当用户在密码输入框中输入的密码字符串为12&%90@,在密码输入框中显示的字符串为“**&%**@”,密码输入框将数字字符用“*”遮盖掉了,仅显示特殊字符(&、%、@)。其中,系统将输入字符进行分类,基于大数据进行分析可知,用户在输入字符时,对于特殊字符的输入错误率比数字字符的输入错误率更高。因此,将字符串中输入错误率较低的字符遮盖,显示错误率较高的字符,在保证用户输入密码不被他人阅读,保证安全性的同时,也保证用户能够及时检查输入的密码是否正确,从而减少密码的输入次数,提高用户体验。
[0093]
下面,结合图3对所述加密输入框构建的具体流程进行说明。图3是本技术实施例提供的一种加密输入框构建的流程图,具体流程如下:
[0094]
步骤s301:构建第一图层和第二图层。
[0095]
具体地,在一种可能实现的方式中,构建第一图层和第二图层之前,创建htlm文件,并在所述htlm文件中构建主图层。htlm用为超文本标记语言,可以用于创建网页,当用户使用htlm创建网页后,需要对该网页进行分区,所述分区用于设置网页的各个功能,包括但不限于:登录/注册功能、信息显示功能。其中,信息显示功能用于显示网页的文字信息,所述登录/注册功能用于接收用户输入的字符串,并根据输入字符串的长度以及输入字符的复杂程度,对输入的字符串进行个性化地隐藏替换。可以通过第一div标签对网页进行分块,从而创建主图层,主图层在网页上的视觉表现形式为类似执行登录/注册等功能的分区,该分区用于接收用户输入的字符串,并根据所述字符串的长度以及字符构成的复杂程度,对字符串中的字符进行个性化地遮盖。图4为本技术实施例提供的一种主图层示例图。示例性的,主图层可以为如图4所示的,用户登录/注册所在的区域为该登录界面的主图层。
[0096]
在构建了主图层之后,需要在图层中建立第一图层和第二图层。其中,第一图层为字符串显示框,用于显示对用户输入字符串进行隐藏替换后的字符串;第二图层为字符串输入框,用于接收用户输入的字符串。具体实现方式为:使用第二div标签在主图层中构建第一图层,该第一图层在主图层对应的分区内,且该第一图层用于显示对用户输入的字符串进行隐藏替换后的字符串,在主图层中创建输入函数,即input函数,在创建输入函数后,会在主图层中会自动创建第二图层。该input函数用于接收用户输入的字符串,并将用户输入的字符串显示在字符串输入框(第二图层)中。
[0097]
下面,结合图5,对主图层、第一图层以及第二图层之间的关系进行示例性地说明。如图5所示,显示框101为使用第一div标签创建的主图层所对应的分区,在该分区中包括第一显示区域102、第二显示区域103、第三显示区域104以及第四显示区域105。其中,第一显示区域101和第二显示区域102对应的图层为使用div标签在主图层中构建的图层,第三显示区域为使用第二div标签构建的第一图层对应的分区,该图层用于显示加密后的字符串,第四显示区域105为输入函数创建的字符串输入框,该输入框用于显示用户输入的用户账号的字符串。当用户输入字符串后,会显示在字符串输入框中,如图5所示,当用户输入字符串“1234ming”,字符串输入框(第二图层)会显示“1234ming”。
[0098]
在一种可能实现的方式中,在构建第一图层和第二图层之后,通过层叠样式表改变第一图层的位置,使得第一图层能够覆盖在第二图层的上方。具体地,层叠样式表(cascading style sheets,css)是一种用来表现html等文件样式的计算机语言,可以改变图层的位置,对网页中元素位置的排版进行像素级精确控制,拥有对网页对象和模型样式编辑的能力。由于第一图层和输入函数对应的字符串输入框的位置不一致,例如,如图5所示第三显示区域104和第四显示区域105的位置不同,因此,需要使用层叠样式表来改变第一图层的位置,使得第一图层能够覆盖在字符串输入框上。这样,可以令第一图层显示的字符能够覆盖字符串输入框显示的字符,从而可以通过第一图层,在网页上显示进行替换后的字符。
[0099]
在一种可能实现的方式中,在构建第一图层和第二图层之后,通过层叠样式表对字符串输入框设置pointerevents属性,使得鼠标点击事件能够透传到第二图层中。具体地,通过使用层叠样式表对字符串输入框设置pointerevents属性,使得当用户使用鼠标或其他方式点击字符串输入框(第二图层)时,input输入函数启动,可以接收用户输入的字符
串,并将该字符串显示在字符串输入框(第二图层上)上。
[0100]
示例性的,如图6所示,当对字符串输入框601设置了pointerevents属性后,当鼠标单击该字符串输入框601之后,在字符串输入框601中显示光标602,此时,input输入函数已启动,可以接收用户输入的字符串。
[0101]
在一种可能实现的方式中,在构建第一图层和第二图层之后,通过层叠式样式表调整第二图层的文本颜色和光标颜色。具体地,input输入函数检测到用户在字符串输入框中输入字符串后,需要通过层叠式样式表将字符串输入框中的字符颜色设置为全透明,这样,才能使得第一图层中的字符串在覆盖字符串输入框中字符串的颜色后,从视觉上不会产生重影。示例性的,如图7所示,字符串输入框中输入的字符串为“1234ming”,第一图层对应分区中的字符串为“1234ming”,当使用层叠式样式表将第一图层对应的分区覆盖到字符串输入框上后,重叠区域产生了重影的现象。因此,将字符串输入框中的字符颜色设置为全透明后,能够有效地减少字符输入框中的字符串与第一图层对应分区显示内容重影的问题。
[0102]
由于,对字符串输入框设置了pointerevents属性,当用户使用鼠标点击字符串输入框与第一图层的重叠区域时,在该重叠区域生成光标。由于,将字符串输入框中字符串的颜色设置为全透明,字符串输入框中的光标也属于字符,因此,生成的光标也是全透明的,这就使得用户通过鼠标点击所述重叠区域后,用户看不见光标闪烁,无法通过光标判断当前重叠区域是否为可输入字符串的状态。为了解决上述问题,在通过层叠样式表将字符串输入框的字符颜色设置为全透明后,再通过层叠样式表调节光标颜色,使得光标颜色视觉可见。通过层叠式样式表将字符串输入框的文本颜色和光标颜色,在不影响光标正常显示的情况下,也解决了重叠区域字符串重影的问题。
[0103]
步骤s302:基于所述第二图层接收用户输入的字符串。
[0104]
具体地,新建变量inputvalue,变量inputvalue用于存储用户输入的字符,input输入函数接收用户输入的字符串,并将该字符串存储到inputvalue中。
[0105]
步骤s303:在所述第一图层上显示对所述输入的字符串处理后的字符串。
[0106]
具体地,在一种可能实现的方式中,在基于第二图层接收到用户输入的字符串后,基于所述字符串的字符类型组成以及字符串的长度m确定隐藏替换的字符数量n,并根据隐藏替换显示规则,处理所述字符串。处理该字符串的主要方法为:
[0107]
新建变量showvalue,其中,变量showvalue用于存储进行隐藏替换后的字符。设置函数onchange_1(inputvalue)和函数onchange_2(showvalue),timer_char(inputvalue)。其中,onchange_1(inputvalue)用于监听inputvalue中新增的输入字符,onchange_2(showvalue)用于监听showvalue中的新增字符,timer_char(inputvalue)用于监听两个字符接收的时间间隔。当用户输入字符后,input函数会将该字符存储到inputvalue中,此时,onchange_1(inputvalue)监听到inputvalue中有新增字符后,调用函数exchange(inputvalue)函数,将新增的字符用另一个字符(例如,“*”)进行替换,然后,exchange(inputvalue)将替换后的字符存储到showvalue中。当onchange_2(showvalue)监听到showvalue中有新增字符后,调用函数div2.htmltext=showvalue将新增的替换字符显示在字符串显示框上(第一图层)。例如,用户在输入字符的过程中,exchange(inputvalue)将用户输入的字符全部替换为“*”,并将替换后的字符串在字符串显示框显示,这样,用户在
输入字符的过程中,用户看到其输入的字符串的形式为“******
……”
。这样,在用户在输入字符的过程中,在网页界面上不会显示用户真实输入的字符,解决了用户在输入字符串的过程中,被别人偷窥,从而造成信息泄露的问题。在用户输入字符串的过程中timer_char(inputvalue)全程监听inputvalue中两个新增字符的时间间隔,若在设定的第一时间阈值内,timer_char(inputvalue)未检测到inputvalue中有新增字符,timer_char(inputvalue)判断用户输入字符完毕,调用replace_char(inputvalue)对存储在inputvalue中的字符串进行处理。
[0108]
replace_char(inputvalue)对存储在inputvalue中的字符串进行处理为:基于字符串的字符类型组成以及字符串的长度n确定隐藏替换的字符数量m,并根据隐藏替换显示规则,隐藏替换所述字符串中m个字符。下面,结合图8,对replace_char(inputvalue)处理inputvalue中字符串的具体流程进行说明,具体流程如下:
[0109]
步骤s801:根据公式n=[(l1/m)*l1+(l2/m)*l2+(l3/m)*l3],确定字符串中隐藏替换的字符个数n。
[0110]
其中,m为字符串中字符的数量,l1为该字符串中普通字符的数量,l2为该字符串中大写字母字符的数量,l3为该字符串中特殊字符的数量。普通字符为数字字符和小写字母字符,特殊字符为除普通字符和大写字母字符的字符,[]表示向上取整函数。
[0111]
步骤s802:判断该字符串中是否存在普通字符。若判断为存在,执行步骤s803,若判断为不存在,执行步骤s810。
[0112]
步骤s803:检测所述l1是否大于或等于所述n。若检测为是,执行步骤s809,若检测为否,执行步骤s804。
[0113]
步骤s804:确定所述字符串中是否存在大写字母字符。若存在,执行步骤s805,若不存在,执行步骤s808。
[0114]
步骤s805:分析(l1+l2)是否大于或等于n。若分析为是,执行步骤s806,若分析为否,执行步骤s807。
[0115]
步骤s806:将l1个普通字符和任意n-l1个大写字母字符进行隐藏替换。
[0116]
步骤s807:将所述字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换。
[0117]
步骤s808:将所述字符串中的全部普通字符以及任意n-l1个特殊字符进行隐藏替换。
[0118]
步骤s809:将所述字符串中任意n个普通字符进行隐藏替换。
[0119]
步骤s810:检测所述字符串中是否存在大写字母字符。若存在,执行步骤s811,若不存在,执行步骤s814。
[0120]
步骤s811:确定所述l2是否大于或等于n。若确定为是,执行步骤s812,若确定为否,执行步骤s813。
[0121]
步骤s812:对所述字符串中任意n个大写字母字符进行隐藏替换。
[0122]
步骤s813:对所述字符串中所有大写字母字符以及所述字符串中任意n-l2个特殊字符进行隐藏替换。
[0123]
步骤s814:对所述字符串中任意n个字符进行隐藏替换。
[0124]
在一种可能实现的方式中,replace_char(inputvalue)可以采用另一种方法对存
储在inputvalue中的字符串进行处理。下面,结合图9,对replace_char(inputvalue)处理inputvalue中字符串的具体流程进行说明,具体流程如下:
[0125]
步骤s901:判断该字符串中是否存在普通字符。若存在,执行步骤s902,若不存在,执行步骤s909。
[0126]
步骤s902:判断m1是否大于或等于3m/4。若判断为是,执行步骤s908,若判断为否,执行步骤s903。其中,m1为该字符串中普通字符的个数,m为该字符串中字符个数。
[0127]
步骤s903:确定该字符串中是否存在大写字母字符。若存在,执行步骤s904,若不存在,执行步骤s907。
[0128]
步骤s904:分析(m1+m2)是否大于或等于3m/4。若分析为是,执行步骤s905,若分析为否,执行步骤s906。其中,m2为该字符串中大写字母字符的个数。
[0129]
步骤s905:根据公式n=m1+[(m2)/2]计算隐藏替换的字符数量,并将m1个普通字符和任意[m2/2]个大写字母字符进行隐藏替换。其中,[]为向上取整函数。
[0130]
步骤s906:根据公式n=m1+m2+[(m-m1-m2)/2]计算隐藏替换的字符数量,并将所述字符串中全部普通字符、全部大写字母字符以及任意[(m-m1-m2)/2]个特殊字符进行隐藏替换。其中,[]为向上取整函数。
[0131]
步骤s907:根据公式n=m1+[(m-m1)/2]计算隐藏替换的字符数量,并将所述字符串中全部普通字符、任意[(m-m1)/2]个特殊字符进行隐藏替换。其中,[]为向上取整函数。
[0132]
步骤s908:根据公式n=[m1/2]计算隐藏替换的字符数量,并将所述字符串中任意n个普通字符进行隐藏替换。
[0133]
步骤s909:检测所述字符串中是否存在大写字母字符。若存在,执行步骤s910,若不存在,执行步骤s912。
[0134]
步骤s910:确定m2是否大于或等于3m/4。若确定为是,执行步骤s911,若确定为否,执行步骤s913。
[0135]
步骤s911:根据公式n=[m2/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个大写字母字符进行隐藏替换。其中,[]为向上取整函数。
[0136]
步骤s912:根据公式n=[m/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个特殊字符进行隐藏替换。其中,[]为向上取整函数。
[0137]
步骤s913:根据公式n=m2+[(m-m2)/2]对所示字符串中所有大写字母以及所述字符串中任意n-m2个特殊字符进行加密。其中,[]为向上取整函数。
[0138]
将该处理后的字符串显示在第一图层上,方法为:用户在输入字符串完成后,replace_char(inputvalue)会将存储在showvalue中的字符串清除,并将其处理后的字符串存储在showvalue中。其中,处理后的字符串包括根据隐藏替换显示规则进行替换后的字符,也包括未被替换的字符。例如,用户输入的字符串为“123al@%pk”,在该字符串中,基于隐藏替换显示规则被隐藏替换的字符为“1”、“2”、“3”、“l”、“p”、“k”,这六个字符都被“*”替换,该字符串中,未被替换的字符为“a”、“@”、“%”;因此,在showvalue中存储的处理后的字符串的形式为“***a*@%**”。然后,通过调用函数div2.htmltext=showvalue将处理后的字符串显示在第一图层上。
[0139]
在一些实施例中,可以使用第三div标签在第一图层中新建第三图层,第三图层为字符串转换图标。当电子设备检测到针对字符串转换图标的输入操作(例如单击)且第二图
层上显示的字符串为处理后的字符串时,调用函数div2.htmltext=inputvalue将inputvalue变量中的原始字符串显示在第第一图层上。当电子设备检测到针对字符串转换图标的输入操作(例如单击)且第二图层上显示的字符串为未处理后的字符串时,调用函数div2.htmltext=showvalue将showtvalue变量中的处理后的字符串显示在第一图层上。
[0140]
本技术实施例,基于字符串的长度、字符串中字符类型确定该字符串中待隐藏替换字符的个数,然后根据预设的字符隐藏替换规则将字符串中部分字符进行隐藏替换,解决了用户在输入密码等场景下,因为字符正常显示,而又被他人窥视致使密码泄露的问题,同时,也解决了为了避免字符串中的字符泄露,而将字符串全部隐藏,致使用户无法获知是否输错字符,而造成用户多次输入字符串,进而耗费用户时间的问题。
[0141]
请参见图10,图10为本技术提供的一种隐藏替换显示输入框的构建装置的结构示意图。需要说明的是,图10所示的隐藏替换显示输入框的构建装置,用于执行本技术图3、图8、图9所示实施例的方法,为了便于说明,仅示出了与本技术实施例相关的部分,具体技术细节未揭示,经参照本技术图3、图8和图9所示的实施例。该隐藏替换显示输入框的构建装置1000可包括:图层构建模块1001、字符串接收模块1002、第一显示模块1003。其中:
[0142]
图层构建模块1001,用于构建第一图层和第二图层;
[0143]
字符串接收模块1002,用于基于第二图层接收用户输入的字符串;
[0144]
第一显示模块1003,用于在所述第一图层上显示对所述用户输入的字符串处理后的字符串。
[0145]
在一种可能实现的方式中,该隐藏替换显示输入框的构建装置1000还包括:第二显示模块、第一判断模块、字符串处理模块,其中:
[0146]
第二显示模块,用于在所述第一图层上同步显示隐藏替换的字符;
[0147]
第一判断模块,用于判断所述第二图层中未接收新增字符的时间是否大于或等于第一时间阈值;
[0148]
字符串处理模块,用于在第一判断模块判断为是的情况下,对所述字符串进行处理。
[0149]
在一种可能实现的方式中,所述图层模块1001在用于构建第一图层和第二图层时,具体用于:
[0150]
使用第一div标签在网页中创建主图层,所述主图层为所述网页中用于执行登录/注册功能的分区;
[0151]
使用第二div标签在所述主图层中创建第一图层,所述第一图层为用于显示加密字符串的分区;
[0152]
在所述主图层上构建并加载输入函数,得到所述第二图层。
[0153]
在一种可能实现的方式中,该隐藏替换显示输入框的构建装置1000还包括:图层位置调整模块、点击事件设置模块,其中:
[0154]
图层位置调整模块,用于通过层叠样式表移动所述第一图层的位置,使得所述第一图层覆盖在所述第二图层上;
[0155]
点击事件设置模块,用于在所述第二图层上设置pointerevents属性,使得鼠标点击事件能够透传到所述第二图层。
[0156]
在一种可能实现的方式中,所述字符串处理模块对字符串进行处理,包括:
[0157]
根据公式n=[(l1/m)*l1+(l2/m)*l2+(l3/m)*l3],确定字符串中隐藏替换的字符个数n;
[0158]
根据所述隐藏替换显示规则,对所述字符串中n个字符进行隐藏替换。
[0159]
在一种可能实现的方式中,所述字符串处理模块根据所述隐藏替换显示规则,对所述字符串中n个字符进行隐藏替换,包括:
[0160]
判断所述字符串中是否存在普通字符;
[0161]
在存在普通字符的情况下,检测所述l1是否大于或等于所述n;
[0162]
若检测为是,将所述字符串中任意n个普通字符进行隐藏替换;
[0163]
若检测为否,确定所述字符串中是否存在大写字母字符;
[0164]
若存在大写字母字符,分析(l1+l2)是否大于或等于n;
[0165]
若分析为是,将l1个普通字符和任意n-l1个大写字母字符进行隐藏替换;
[0166]
若分析为否,;
[0167]
若不存在大写字母字符,将所述字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换;
[0168]
在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;
[0169]
若存在大写字母字符,确定所述l2是否大于或等于n;
[0170]
确定为是,对所述字符串中任意n个大写字母字符进行隐藏替换;
[0171]
确定为否,对所示字符串中所有大写字母以及所述字符串中任意n-l2个特殊字符进行隐藏替换;
[0172]
若不存在大写字母,对所述字符串中任意n个字符进行隐藏替换。
[0173]
在一种可能实现的方式中,所述字符串处理模块对字符串进行处理,具体包括:
[0174]
判断所述字符串中是否存在普通字符;
[0175]
在存在普通字符的情况下,检测m1是否大于或等于3m/4,所述m为所述字符串字符数量,所述m1为所述字符串中普通字符的数量;
[0176]
若检测为是,根据公式n=[m1/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个普通字符进行隐藏替换;
[0177]
若检测为否,确定所述字符串中是否存在大写字母字符;
[0178]
若存在大写字母字符,分析(m1+m2)是否大于或等于3m/4,所述m2为大写字母字符的个数;
[0179]
若分析为是,根据公式n=m1+[m2/2]计算隐藏替换的字符数量n,并将m1个普通字符和任意[m2/2]个大写字母字符进行隐藏替换;
[0180]
若分析为否,根据公式n=m1+m2+[(m-m1-m2)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、全部大写字母字符以及任意[(m-m1-m2)/2]个特殊字符进行隐藏替换;
[0181]
若不存在大写字母字符,根据公式n=m1+[(m-m1)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、任意[(m-m1)/2]个特殊字符进行隐藏替换;
[0182]
在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;
[0183]
若存在大写字母字符,确定所述m2是否大于或等于3m/4;
[0184]
确定为是,根据公式n=[m2/2]计算隐藏替换的字符数量n,并将所述字符串中任
意n个大写字母字符进行隐藏替换;
[0185]
确定为否,根据公式n=m2+[(m-m2)/2]对所示字符串中所有大写字母以及所述字符串中任意n-m2个特殊字符进行加密;
[0186]
若不存在大写字母,根据公式n=[m/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个特殊字符进行隐藏替换。
[0187]
在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现,本技术不做限定。
[0188]
请参见图11,图11为本技术实施例提供的一种电子设备的结构示意图。如图11所示,该电子设备1100包括:至少一个处理器1101、存储器1102。可选的,该电子设备还可包括网络接口1103,所述处理器1101、网络接口1103以及存储器1102通过内部总线1104相互连接。其中,所述处理器1101、存储器1102以及网络接口1103之间可以交互数据,网络接口1103受所述处理器1101的控制用于收发消息,存储器1102用于存储计算机程序,所述计算机程序包括程序指令,处理器1101用于执行存储器1102存储的程序指令。其中,处理器1101被配置用于调用所述程序指令执行上述隐藏替换显示输入框的构建方法。
[0189]
所述存储器1102可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器1102也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,ssd)等;所述存储器1102还可以包括上述种类的存储器的组合。
[0190]
所述处理器1101可以是中央处理器(central processing unit,cpu)。在一个实施例中,所述处理器1101还可以是图形处理器(graphics processing unit,gpu)。所述处理器1101也可以是由cpu和gpu的组合。
[0191]
在一个可能的实施方式中,所述存储器1102用于存储程序指令。所述处理器1101可以调用所述程序指令,执行以下步骤:
[0192]
构建第一图层和第二图层;
[0193]
基于所述第二图层接收用户输入的字符串;所述字符串包括m个字符,所述m个字符的类型至少包括普通字符、大写字母字符、特殊字符中的两种类型;
[0194]
在所述第一图层上显示对所述输入的字符串处理后的字符串;其中,所述处理后的字符串包括n个隐藏替换显示的字符和m-n个正常显示的字符;所述正常显示的字符的数量和类型为根据隐藏替换显示规则确认。
[0195]
在一种可能实现的方式中,所述处理器1101基于所述第二图层接收用户输入的字符串之后,用于:
[0196]
根据所述用户输入的字符串,在所述第一图层上同步显示隐藏替换的字符;
[0197]
判断所述第二图层中未接收新增字符的时间是否大于或等于第一时间阈值;
[0198]
若判断为是,对所述字符串进行处理。
[0199]
在一种可能实现的方式中,所述处理器1101构建第一图层和第二图层,具体用于:
[0200]
使用第一div标签在网页中创建主图层,所述主图层为所述网页中用于执行登录/注册功能的分区;
[0201]
使用第二div标签在所述主图层中创建第一图层,所述第一图层为用于显示加密
字符串的分区;
[0202]
在所述主图层上构建并加载输入函数,得到所述第二图层。
[0203]
在一种可能实现的方式中,所述处理器1101接收用户输入的字符串之前,还用于:
[0204]
通过层叠样式表移动所述第一图层的位置,使得所述第一图层覆盖在所述第二图层上;
[0205]
在所述第二图层上设置pointerevents属性,使得鼠标点击事件能够透传到所述第二图层。
[0206]
在一种可能实现的方式中,所述处理器1101对所述字符串进行处理,具体用于:
[0207]
根据公式n=[(l1/m)*l1+(l2/m)*l2+(l3/m)*l3],确定字符串中隐藏替换的字符个数n;
[0208]
根据所述隐藏替换显示规则,对所述字符串中n个字符进行隐藏替换;
[0209]
其中,所述m为所述字符串中字符的数量,所述l1为所述字符串中普通字符的数量,所述l2为所述字符串中大写字母字符的数量,所述l3为所述字符串中特殊字符的数量。
[0210]
在一种可能实现的方式中,所述处理器1101根据所述隐藏替换显示规则,对所述字符串中n个字符进行隐藏替换,具体用于:
[0211]
判断所述字符串中是否存在普通字符;
[0212]
在存在普通字符的情况下,检测所述l1是否大于或等于所述n;
[0213]
若检测为是,将所述字符串中任意n个普通字符进行隐藏替换;
[0214]
若检测为否,确定所述字符串中是否存在大写字母字符;
[0215]
若存在大写字母字符,分析(l1+l2)是否大于或等于n;
[0216]
若分析为是,将l1个普通字符和任意n-l1个大写字母字符进行隐藏替换;
[0217]
若分析为否,将所述字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换;
[0218]
若不存在大写字母字符,将所述字符串中的全部普通字符、全部大写字母字符以及任意(n-l1-l2)个特殊字符进行隐藏替换;
[0219]
在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;
[0220]
若存在大写字母字符,确定所述l2是否大于或等于n;
[0221]
确定为是,对所述字符串中任意n个大写字母字符进行隐藏替换;
[0222]
确定为否,对所示字符串中所有大写字母以及所述字符串中任意n-l2个特殊字符进行隐藏替换;
[0223]
若不存在大写字母,对所述字符串中任意n个字符进行隐藏替换。
[0224]
在一种可能实现的方式中,所述处理器1101对所述字符串进行处理,具体用于:
[0225]
判断所述字符串中是否存在普通字符;
[0226]
在存在普通字符的情况下,检测m1是否大于或等于3m/4,所述m为所述字符串字符数量,所述m1为所述字符串中普通字符的数量;
[0227]
若检测为是,根据公式n=[m1/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个普通字符进行隐藏替换;
[0228]
若检测为否,确定所述字符串中是否存在大写字母字符;
[0229]
若存在大写字母字符,分析(m1+m2)是否大于或等于3m/4,所述m2为大写字母字符
的个数;
[0230]
若分析为是,根据公式n=m1+[m2/2]计算隐藏替换的字符数量n,并将m1个普通字符和任意[m2/2]个大写字母字符进行隐藏替换;
[0231]
若分析为否,根据公式n=m1+m2+[(m-m1-m2)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、全部大写字母字符以及任意[(m-m1-m2)/2]个特殊字符进行隐藏替换;
[0232]
若不存在大写字母字符,根据公式n=m1+[(m-m1)/2]计算隐藏替换的字符数量n,并将所述字符串中全部普通字符、任意[(m-m1)/2]个特殊字符进行隐藏替换;
[0233]
在不存在普通字符的情况下,检测所述字符串中是否存在大写字母字符;
[0234]
若存在大写字母字符,确定所述m2是否大于或等于3m/4;
[0235]
确定为是,根据公式n=[m2/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个大写字母字符进行隐藏替换;
[0236]
确定为否,根据公式n=m2+[(m-m2)/2]对所示字符串中所有大写字母以及所述字符串中任意n-m2个特殊字符进行加密;
[0237]
若不存在大写字母,根据公式n=[m/2]计算隐藏替换的字符数量n,并将所述字符串中任意n个特殊字符进行隐藏替换。
[0238]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
[0239]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
[0240]
总之,以上所述仅为本发明技术方案的实施例,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1