CN111984964A - 一种基于Selenium的web应用改密方法 - Google Patents
一种基于Selenium的web应用改密方法 Download PDFInfo
- Publication number
- CN111984964A CN111984964A CN202010845470.3A CN202010845470A CN111984964A CN 111984964 A CN111984964 A CN 111984964A CN 202010845470 A CN202010845470 A CN 202010845470A CN 111984964 A CN111984964 A CN 111984964A
- Authority
- CN
- China
- Prior art keywords
- password
- selenium
- encryption
- character
- web application
- 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
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 title claims abstract description 50
- 229910052711 selenium Inorganic materials 0.000 title claims abstract description 50
- 239000011669 selenium Substances 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 22
- 240000007087 Apium graveolens Species 0.000 claims abstract description 35
- 235000015849 Apium graveolens Dulce Group Nutrition 0.000 claims abstract description 35
- 235000010591 Appio Nutrition 0.000 claims abstract description 35
- 238000012795 verification Methods 0.000 claims abstract description 27
- 230000008859 change Effects 0.000 claims abstract description 4
- 238000012986 modification Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 7
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000005728 strengthening Methods 0.000 claims description 3
- 238000012015 optical character recognition Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006872 improvement Effects 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
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/45—Structures or tools for the administration of 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)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出了一种基于Selenium的web应用改密方法,通过使用Selenium模拟真实人工操作,再辅助以OCR技术对验证码进行识别,全自动地更改Web应用的密码;除此之外,使用消息队列与Celery相结合,实现了分布式的Web应用改密;同时通过对改密流程进行设置,修改得到复杂且更难破解的密码;本发明通过上述设置,在实现全自动改密的基础上,通过分布式部署实现高效率的改密。
Description
技术领域
本发明属于计算机信息安全技术领域,具体地说,涉及一种基于Selenium的web应用改密方法。
背景技术
随着信息技术的快速发展,在当今的信息化数字化时代,数据信息安全显得尤为重要,而密码也是每一个账号进行保密的最基本的一种措施。如果一个账号的密码始终不变,那么其对账号信息的安全保障就会随着时间的流逝而与日俱增,故在企业的运维审计系统中,公司内部/外部Web系统有定时更改密码的要求,一般来说需要手工去更改密码,如果Web系统的数量较多,则更改密码就成了一件麻烦事。同时,在大量密码需要更改的情况下,单机单任务节点进行改密会花费大量的时间,而使用分布式架构,使用多个任务节点同时进行改密,就能很好的应对大量的改密要求。
发明内容
本发明针对现有技术的上述问题,提出了一种基于Selenium的web应用改密方法,使用Selenium模拟真实人工操作,全自动地更改Web应用的密码;除此之外使用消息队列与Celery相结合,实现了分布式的Web应用改密。本发明在实现全自动改密的基础上,通过分布式部署实现高效率的改密。
本发明具体实现内容如下:
本发明提出了一种基于Selenium的web应用改密方法,采用分布式Web改密部署,所述分布式Web改密部署具体包括以下步骤:
首先设置多台可被其他主机Celery任务节点访问到的主机,只在一台主机上部署和启动消息队列,并将部署和启动消息队列的主机作为消息队列服务器,并由其他未部署和启动消息队列的主机监听前述部署和启动的消息队列;然后在每一台主机上都启动Celery任务节点;由主机对应的Celery任务节点来监听消息队列的信息;
然后在一台主机上部署和启动数据库服务,在数据库中事先存储设置好的密码策略以及字符集;由每一个主机对应的Celery任务节点来查询和存储密码策略、字符集和改密结构;
接着在每一个主机上都安装Selenium Web Driver,用于实现每一个Celery任务节点独立地启动Selenium Web Driver来进行后续的改密操作;
最后启动Celery任务节点,在启动参数中指定监听的消息队列为前述启动的消息队列;
在进行了分布式Web改密部署之后,开始改密操作;所述改密操作包括以下步骤:
步骤1:启动Selenium Web Driver进行Web应用页面登录;
步骤2:判断是否成功登录页面,在成功登录Web应用页面后,将成功登录所使用的密码判断为有效密码,将未成功登录的密码设置为无效密码;将密码有效性判断结果保存;
步骤3:若判断为有效密码,则登录Web应用改密页面,修改Web应用密码;
步骤4:将修改后的密码进行步骤1-2,判断修改后的密码有效性进而判断改密是否成功;若改密失败,使用Selenium Web Driver进行截图并保存截图文件;若改密成功,则通过Celery任务节点存储改密结果信息,改密完成。
为了更好地实现本发明,进一步地,所述步骤1具体包括以下步骤:
步骤1.1:首先使用Web应用改密服务向外暴露API接口,使得调用者可以调用,在调用API之后,开始改密流程;
步骤1.2:向各个Celery任务节点统一使用的消息队列发送改密任务消息;
步骤1.3:Celery任务节点从消息队列里获取改密任务消息,获取到消息的任务节点会启动属于任务节点的Selenium Web Driver,然后开始进行Web应用改密;
步骤1.4:Celery任务节点使用Selenium Web Driver打开Web应用的登录界面;
步骤1.5:使用CSS选择器查找Web登录界面的密码输入框、用户名输入框、验证码输入框;
步骤1.6:下载验证码图片,使用tesseract训练的模型对验证码进行识别;使用Selenium Web Driver输入用户名、密码和验证码;
步骤1.7:通过CSS选择器查找登录按钮,并触发点击事件,完成登录操作。
为了更好地实现本发明,进一步地,所述步骤1.6的具体步骤包括:
步骤1.6.1:获取验证码图片的URL,下载验证码图片到本地;
步骤1.6.2:使用tesseract训练的模型对验证码进行识别;
步骤1.6.3:如果识别成功率较低,则进一步强化tesseract的模型,通过手工标注的方式,对验证码图片进行标注,然后训练模型;
步骤1.6.4:将识别验证码的结果返回给Celery任务节点,然后传入Selenium WebDriver,填入用户名、密码和验证码到对应的输入框中。
为了更好地实现本发明,进一步地,所述步骤2中,具体判断密码有效性的操作为:通过CSS选择器查找登录后的界面才会出现的HTML标签,同时使用CSS选择器查找登录失败后才会出现的登录失败提示信息,根据查找的结果来判断登录是否成功,从而知道密码的有效性。
为了更好地实现本发明,进一步地,所述步骤3具体包括以下步骤:
步骤3.1:使用Selenium Web Driver跳转到用户登录以后的Web应用改密页面;
步骤3.2:通过CSS选择器查找Web应用改密页面的用户名输入框、原密码输入框、新密码输入框、确认密码的输入框;
步骤3.3:读取存储在数据库里的密码策略以及字符集,根据密码策略生成新密码;
步骤3.4:使用Selenium Web Driver在Web应用改密页面对应的输入框中输入用户名、原密码、新密码、确认密码;
步骤3.5:使用CSS选择器查找到确认修改密码的按钮,并触发其点击事件,完成改密操作。
为了更好地实现本发明,进一步地,所述密码策略包括:密码生成策略、密码属性、字符集种类;所述密码生成策略包括:最少字母数量、最少数字数量、最少其他字符数量、同一字符的最多重复次数;所述密码属性包括:密码长度、同一次改密的账号使用的密码是否相同;所述字符集种类包括:大写字母、小写字母、数字、其他字符、自定义字符集。
为了更好地实现本发明,进一步地,所述步骤3.3具体包括一下步骤:
步骤3.3.1:从数据库读取密码策略配置;
步骤3.3.2:根据密码策略,确定生成新密码所需要使用的字符集的种类;
步骤3.3.3:根据字符集的种类,从每种字符集中随机选出一个字符,按顺序拼接到新密码中,作为初始化长度最小的新密码,确保每种字符集都至少有一个字符;
步骤3.3.4:根据密码长度是否小于或等于同一字符的最多重复次数*每种字符集的长度来判断是否更改同一字符的最多重复次数;若满足小于或等于的条件,则根据同一字符的最多重复次数,在每种字符集中移除出现次数等于最多重复次数的字符,然后进行步骤3.3.5操作;反之则将同一字符的最多重复次数设置为最大值;
步骤3.3.5:根据字符集的中同一字符的最少数量,按顺序从指定的字符集中,随机挑选字符,拼接到新密码中;
步骤3.3.6:根据同一字符的最多重复次数,再次在每种字符集中移除出现次数等于最多重复次数的字符;然后判断是否满足在每种字符集中同一字符的最少数量;若满足,则继续进行步骤3.3.7;反之则重新进行步骤3.3.5-步骤3.3.6的操作;
步骤3.3.7:随机挑选一种字符集,从中随机挑选一个字符拼接到新密码中;然后根据同一字符的最多重复次数,第三次在每种字符集中移除出现次数等于最多重复次数的字符;
步骤3.3.8:判断新密码长度是否达到要求,若达到要求,则将组合成的新密码随机进行排列输出新密码;反之则重新进行步骤3.3.7的操作。
本发明与现有技术相比具有以下优点及有益效果:
(1)本发明提供了一种基于Selenium的Web应用改密方案,从而不需要人工进行改密,只需进行配置,就能够自动定时改密;
(2)本发明可以集成OCR技术,并以此来识别验证码,从而对于大部分有验证码的Web应用,也可以进行改密;
(3)本发明提供了分布式的Web应用改密部署方案,从而使得Web改密应用可以横向进行扩展,从而能够提高改密效率。
附图说明
图1为本发明完整流程图;
图2为本发明使用OCR技术识别验证码的流程示意图;
图3为密码策略的组成示意图;
图4为密码生成流程的流程示意图;
图5为分布式Web改密部署的流程示意图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本实施例提出了一种基于Selenium的web应用改密方法,如图1、图2、图3、图4、图5所示,采用分布式Web改密部署,如图5所示,所述分布式Web改密部署具体包括以下步骤:
首先设置多台可被其他主机Celery任务节点访问到的主机,只在一台主机上部署和启动消息队列,并将部署和启动消息队列的主机作为消息队列服务器,并由其他未部署和启动消息队列的主机监听前述部署和启动的消息队列;然后在每一台主机上都启动Celery任务节点;由主机对应的Celery任务节点来监听消息队列的信息;
然后在一台主机上部署和启动数据库服务,在数据库中事先存储设置好的密码策略以及字符集;由每一个主机对应的Celery任务节点来查询和存储密码策略、字符集和改密结构;如图3所示,所述密码策略包括:密码生成策略、密码属性、字符集种类;所述密码生成策略包括:最少字母数量、最少数字数量、最少其他字符数量、同一字符的最多重复次数;所述密码属性包括:密码长度、同一次改密的账号使用的密码是否相同;所述字符集种类包括:大写字母、小写字母、数字、其他字符、自定义字符集;
接着在每一个主机上都安装Selenium Web Driver,用于实现每一个Celery任务节点独立地启动Selenium Web Driver来进行后续的改密操作;
最后启动Celery任务节点,在启动参数中指定监听的消息队列为前述启动的消息队列;
在进行了分布式Web改密部署之后,开始改密操作;所述改密操作包括以下步骤:
步骤1:启动Selenium Web Driver进行Web应用页面登录;
步骤1.1:首先使用Web应用改密服务向外暴露API接口,使得调用者可以调用,在调用API之后,开始改密流程;
步骤1.2:向各个Celery任务节点统一使用的消息队列发送改密任务消息;
步骤1.3:Celery任务节点从消息队列里获取改密任务消息,获取到消息的任务节点会启动属于任务节点的Selenium Web Driver,然后开始进行Web应用改密;
步骤1.4:Celery任务节点使用Selenium Web Driver打开Web应用的登录界面;
步骤1.5:使用CSS选择器查找Web登录界面的密码输入框、用户名输入框、验证码输入框;
步骤1.6:下载验证码图片,使用tesseract训练的模型对验证码进行识别;使用Selenium Web Driver输入用户名、密码和验证码;如图2所示,具体操作为:
步骤1.6.1:获取验证码图片的URL,下载验证码图片到本地;
步骤1.6.2:使用tesseract训练的模型对验证码进行识别;
步骤1.6.3:如果识别成功率较低,则进一步强化tesseract的模型,通过手工标注的方式,对验证码图片进行标注,然后训练模型;
步骤1.6.4:将识别验证码的结果返回给Celery任务节点,然后传入Selenium WebDriver,填入用户名、密码和验证码到对应的输入框中;
步骤1.7:通过CSS选择器查找登录按钮,并触发点击事件,完成登录操作。
步骤2:判断是否成功登录页面,在成功登录Web应用页面后,将成功登录所使用的密码判断为有效密码,将未成功登录的密码设置为无效密码;将密码有效性判断结果保存;判断密码有效性的操作为:通过CSS选择器查找登录后的界面才会出现的HTML标签,同时使用CSS选择器查找登录失败后才会出现的登录失败提示信息,根据查找的结果来判断登录是否成功,从而知道密码的有效性。
步骤3:若判断为有效密码,则登录Web应用改密页面,修改Web应用密码;
步骤3.1:使用Selenium Web Driver跳转到用户登录以后的Web应用改密页面;
步骤3.2:通过CSS选择器查找Web应用改密页面的用户名输入框、原密码输入框、新密码输入框、确认密码的输入框;
步骤3.3:读取存储在数据库里的密码策略以及字符集,根据密码策略生成新密码;具体流程如图4所示:
步骤3.3.1:从数据库读取密码策略配置;
步骤3.3.2:根据密码策略,确定生成新密码所需要使用的字符集的种类;
步骤3.3.3:根据字符集的种类,从每种字符集中随机选出一个字符,按顺序拼接到新密码中,作为初始化长度最小的新密码,确保每种字符集都至少有一个字符;
步骤3.3.4:根据密码长度是否小于或等于同一字符的最多重复次数*每种字符集的长度来判断是否更改同一字符的最多重复次数;若满足小于或等于的条件,则根据同一字符的最多重复次数,在每种字符集中移除出现次数等于最多重复次数的字符,然后进行步骤3.3.5操作;反之则将同一字符的最多重复次数设置为最大值;
步骤3.3.5:根据字符集的中同一字符的最少数量,按顺序从指定的字符集中,随机挑选字符,拼接到新密码中;
步骤3.3.6:根据同一字符的最多重复次数,再次在每种字符集中移除出现次数等于最多重复次数的字符;然后判断是否满足在每种字符集中同一字符的最少数量;若满足,则继续进行步骤3.3.7;反之则重新进行步骤3.3.5-步骤3.3.6的操作;
步骤3.3.7:随机挑选一种字符集,从中随机挑选一个字符拼接到新密码中;然后根据同一字符的最多重复次数,第三次在每种字符集中移除出现次数等于最多重复次数的字符;
步骤3.3.8:判断新密码长度是否达到要求,若达到要求,则将组合成的新密码随机进行排列输出新密码;反之则重新进行步骤3.3.7的操作;
步骤3.4:使用Selenium Web Driver在Web应用改密页面对应的输入框中输入用户名、原密码、新密码、确认密码;
步骤3.5:使用CSS选择器查找到确认修改密码的按钮,并触发其点击事件,完成改密操作。
步骤4:将修改后的密码进行步骤1-2,判断修改后的密码有效性进而判断改密是否成功;若改密失败,使用Selenium Web Driver进行截图并保存截图文件;若改密成功,则通过Celery任务节点存储改密结果信息,改密完成。
工作原理:需要注意的是:Selenium Web Driver可以根据Web应用需要使用的浏览器,下载和使用对应的版本;OCR识别之前需要训练模型,本文采用开源的tesseract进行训练;分布式改密的部署需要多台主机,且主机之间网络互通。
术语解释:Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等;
OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术;
Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件;
消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (7)
1.一种基于Selenium的web应用改密方法,其特征在于,采用分布式Web改密部署,所述分布式Web改密部署具体包括以下步骤:
首先设置多台可被其他主机Celery任务节点访问到的主机,只在一台主机上部署和启动消息队列,并将部署和启动消息队列的主机作为消息队列服务器,并由其他未部署和启动消息队列的主机监听前述部署和启动的消息队列;然后在每一台主机上都启动Celery任务节点;由主机对应的Celery任务节点来监听消息队列的信息;
然后在一台主机上部署和启动数据库服务,在数据库中事先存储设置好的密码策略以及字符集;由每一个主机对应的Celery任务节点来查询和存储密码策略、字符集和改密结构;
接着在每一个主机上都安装Selenium Web Driver,用于实现每一个Celery任务节点独立地启动Selenium Web Driver来进行后续的改密操作;
最后启动Celery任务节点,在启动参数中指定监听的消息队列为前述启动的消息队列;
在进行了分布式Web改密部署之后,开始改密操作;所述改密操作包括以下步骤:
步骤1:启动Selenium Web Driver进行Web应用页面登录;
步骤2:判断是否成功登录页面,在成功登录Web应用页面后,将成功登录所使用的密码判断为有效密码,将未成功登录的密码设置为无效密码;将密码有效性判断结果保存;
步骤3:若判断为有效密码,则登录Web应用改密页面,修改Web应用密码;
步骤4:将修改后的密码进行步骤1-2,判断修改后的密码有效性进而判断改密是否成功;若改密失败,使用Selenium Web Driver进行截图并保存截图文件;若改密成功,则通过Celery任务节点存储改密结果信息,改密完成。
2.如权利要求1所述的一种基于Selenium的web应用改密方法,其特征在于,所述步骤1具体包括以下步骤:
步骤1.1:首先使用Web应用改密服务向外暴露API接口,使得调用者可以调用,在调用API之后,开始改密流程;
步骤1.2:向各个Celery任务节点统一使用的消息队列发送改密任务消息;
步骤1.3:Celery任务节点从消息队列里获取改密任务消息,获取到消息的任务节点会启动属于任务节点的Selenium Web Driver,然后开始进行Web应用改密;
步骤1.4:Celery任务节点使用Selenium Web Driver打开Web应用的登录界面;
步骤1.5:使用CSS选择器查找Web登录界面的密码输入框、用户名输入框、验证码输入框;
步骤1.6:下载验证码图片,使用tesseract训练的模型对验证码进行识别;使用Selenium Web Driver输入用户名、密码和验证码;
步骤1.7:通过CSS选择器查找登录按钮,并触发点击事件,完成登录操作。
3.如权利要求2所述的一种基于Selenium的web应用改密方法,其特征在于,所述步骤1.6的具体步骤包括:
步骤1.6.1:获取验证码图片的URL,下载验证码图片到本地;
步骤1.6.2:使用tesseract训练的模型对验证码进行识别;
步骤1.6.3:如果识别成功率较低,则进一步强化tesseract的模型,通过手工标注的方式,对验证码图片进行标注,然后训练模型;
步骤1.6.4:将识别验证码的结果返回给Celery任务节点,然后传入Selenium WebDriver,填入用户名、密码和验证码到对应的输入框中。
4.如权利要求1或2所述的一种基于Selenium的web应用改密方法,其特征在于,所述步骤2中,具体判断密码有效性的操作为:通过CSS选择器查找登录后的界面才会出现的HTML标签,同时使用CSS选择器查找登录失败后才会出现的登录失败提示信息,根据查找的结果来判断登录是否成功,从而知道密码的有效性。
5.如权利要求1所述的一种基于Selenium的web应用改密方法,其特征在于,所述步骤3具体包括以下步骤:
步骤3.1:使用Selenium Web Driver跳转到用户登录以后的Web应用改密页面;
步骤3.2:通过CSS选择器查找Web应用改密页面的用户名输入框、原密码输入框、新密码输入框、确认密码的输入框;
步骤3.3:读取存储在数据库里的密码策略以及字符集,根据密码策略生成新密码;
步骤3.4:使用Selenium Web Driver在Web应用改密页面对应的输入框中输入用户名、原密码、新密码、确认密码;
步骤3.5:使用CSS选择器查找到确认修改密码的按钮,并触发其点击事件,完成改密操作。
6.如权利要求5所述的一种基于Selenium的web应用改密方法,其特征在于,所述密码策略包括:密码生成策略、密码属性、字符集种类;所述密码生成策略包括:最少字母数量、最少数字数量、最少其他字符数量、同一字符的最多重复次数;所述密码属性包括:密码长度、同一次改密的账号使用的密码是否相同;所述字符集种类包括:大写字母、小写字母、数字、其他字符、自定义字符集。
7.如权利要求6所述的一种基于Selenium的web应用改密方法,其特征在于,所述步骤3.3具体包括一下步骤:
步骤3.3.1:从数据库读取密码策略配置;
步骤3.3.2:根据密码策略,确定生成新密码所需要使用的字符集的种类;
步骤3.3.3:根据字符集的种类,从每种字符集中随机选出一个字符,按顺序拼接到新密码中,作为初始化长度最小的新密码,确保每种字符集都至少有一个字符;
步骤3.3.4:根据密码长度是否小于或等于同一字符的最多重复次数*每种字符集的长度来判断是否更改同一字符的最多重复次数;若满足小于或等于的条件,则根据同一字符的最多重复次数,在每种字符集中移除出现次数等于最多重复次数的字符,然后进行步骤3.3.5操作;反之则将同一字符的最多重复次数设置为最大值;
步骤3.3.5:根据字符集的中同一字符的最少数量,按顺序从指定的字符集中,随机挑选字符,拼接到新密码中;
步骤3.3.6:根据同一字符的最多重复次数,再次在每种字符集中移除出现次数等于最多重复次数的字符;然后判断是否满足在每种字符集中同一字符的最少数量;若满足,则继续进行步骤3.3.7;反之则重新进行步骤3.3.5-步骤3.3.6的操作;
步骤3.3.7:随机挑选一种字符集,从中随机挑选一个字符拼接到新密码中;然后根据同一字符的最多重复次数,第三次在每种字符集中移除出现次数等于最多重复次数的字符;
步骤3.3.8:判断新密码长度是否达到要求,若达到要求,则将组合成的新密码随机进行排列输出新密码;反之则重新进行步骤3.3.7的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010845470.3A CN111984964B (zh) | 2020-08-20 | 2020-08-20 | 一种基于Selenium的web应用改密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010845470.3A CN111984964B (zh) | 2020-08-20 | 2020-08-20 | 一种基于Selenium的web应用改密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984964A true CN111984964A (zh) | 2020-11-24 |
CN111984964B CN111984964B (zh) | 2024-02-02 |
Family
ID=73442672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010845470.3A Active CN111984964B (zh) | 2020-08-20 | 2020-08-20 | 一种基于Selenium的web应用改密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984964B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086655A1 (en) * | 2011-09-29 | 2013-04-04 | Alan H. Karp | Password changing |
CN103297425A (zh) * | 2013-05-09 | 2013-09-11 | 苏州泽佑科技有限公司 | 一种半自动改密码处理系统 |
WO2014086149A1 (zh) * | 2012-12-06 | 2014-06-12 | 华为技术有限公司 | 服务器账号密码管理方法、系统及服务器 |
CN106897357A (zh) * | 2017-01-04 | 2017-06-27 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
CN107423638A (zh) * | 2017-08-02 | 2017-12-01 | 成都安恒信息技术有限公司 | 一种基于命令探测式修改密码的密码管理系统及使用方法 |
US20170366547A1 (en) * | 2015-06-02 | 2017-12-21 | ALTR Solutions, Inc. | Remotely deauthenticating a user from a web-based application using a centralized login server |
US20180004935A1 (en) * | 2016-06-30 | 2018-01-04 | Logmein, Inc. | Automating password change management |
CN110263531A (zh) * | 2019-05-31 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 一种初始化账号的密码处理方法、系统以及电子设备 |
CN110460474A (zh) * | 2019-08-14 | 2019-11-15 | 深圳市同维通信技术有限公司 | 设备功能的配置方法及装置、存储介质、电子设备 |
CN110505117A (zh) * | 2019-08-07 | 2019-11-26 | 深圳市吉祥腾达科技有限公司 | Tr069测试方法、系统及存储介质 |
CN110719298A (zh) * | 2019-11-05 | 2020-01-21 | 广州海颐信息安全技术有限公司 | 支持自定义更改特权账号密码的方法及装置 |
CN111443922A (zh) * | 2020-04-01 | 2020-07-24 | 苏州浪潮智能科技有限公司 | 一种大数据平台的前端组件部署方法和装置 |
-
2020
- 2020-08-20 CN CN202010845470.3A patent/CN111984964B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086655A1 (en) * | 2011-09-29 | 2013-04-04 | Alan H. Karp | Password changing |
WO2014086149A1 (zh) * | 2012-12-06 | 2014-06-12 | 华为技术有限公司 | 服务器账号密码管理方法、系统及服务器 |
CN103297425A (zh) * | 2013-05-09 | 2013-09-11 | 苏州泽佑科技有限公司 | 一种半自动改密码处理系统 |
US20170366547A1 (en) * | 2015-06-02 | 2017-12-21 | ALTR Solutions, Inc. | Remotely deauthenticating a user from a web-based application using a centralized login server |
US20180004935A1 (en) * | 2016-06-30 | 2018-01-04 | Logmein, Inc. | Automating password change management |
CN106897357A (zh) * | 2017-01-04 | 2017-06-27 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
CN107423638A (zh) * | 2017-08-02 | 2017-12-01 | 成都安恒信息技术有限公司 | 一种基于命令探测式修改密码的密码管理系统及使用方法 |
CN110263531A (zh) * | 2019-05-31 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 一种初始化账号的密码处理方法、系统以及电子设备 |
CN110505117A (zh) * | 2019-08-07 | 2019-11-26 | 深圳市吉祥腾达科技有限公司 | Tr069测试方法、系统及存储介质 |
CN110460474A (zh) * | 2019-08-14 | 2019-11-15 | 深圳市同维通信技术有限公司 | 设备功能的配置方法及装置、存储介质、电子设备 |
CN110719298A (zh) * | 2019-11-05 | 2020-01-21 | 广州海颐信息安全技术有限公司 | 支持自定义更改特权账号密码的方法及装置 |
CN111443922A (zh) * | 2020-04-01 | 2020-07-24 | 苏州浪潮智能科技有限公司 | 一种大数据平台的前端组件部署方法和装置 |
Non-Patent Citations (1)
Title |
---|
姜文 等;: "基于Selenium的Web软件自动化测试", 计算机技术与发展, vol. 28, no. 09, pages 47 - 52 * |
Also Published As
Publication number | Publication date |
---|---|
CN111984964B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111191414B (zh) | 一种页面水印生成方法、识别方法、装置、设备及存储介质 | |
CN110324311B (zh) | 漏洞检测的方法、装置、计算机设备和存储介质 | |
US7860892B2 (en) | Information processing apparatus, history file generation method and program | |
US8429397B2 (en) | Generating an encryption font by converting character codes and recording the encryption font in a unique tag | |
CN105447204A (zh) | 网址识别方法和装置 | |
JP2012088849A (ja) | 画像形成装置、ログ管理方法、及びログ管理プログラム | |
CN114168869A (zh) | 一种信息显示方法、装置、系统及存储介质 | |
CN112784298A (zh) | 日志脱敏方法、装置、计算机设备及存储介质 | |
CN113505318A (zh) | 短链接生成方法、装置、设备及存储介质 | |
CN112579958B (zh) | 网页转换方法、装置、计算机设备及可读存储介质 | |
CN111209029A (zh) | 一种代码修改确定方法、装置、电子设备及存储介质 | |
US20190372980A1 (en) | Program execution control method, program, recording medium, web page, transmission server, client, and web system | |
CN114117498A (zh) | 脱敏数据的实现方法、装置、系统、设备及存储介质 | |
CN112631908A (zh) | 浏览器页面测试方法、装置、计算机设备及存储介质 | |
CN111984964A (zh) | 一种基于Selenium的web应用改密方法 | |
US20090251597A1 (en) | Content conversion device | |
CN116610650A (zh) | 日志信息输出管理方法、系统 | |
US11800032B2 (en) | Apparatus, information processing method, and storage medium | |
CN103218189A (zh) | 任务控制装置、任务控制系统和用于控制处理任务数据的方法 | |
CN114237678A (zh) | 组件更新方法、装置、存储介质及计算机设备 | |
CN115412345A (zh) | 弱口令的提示修改方法、装置、设备及介质 | |
JP4903078B2 (ja) | 電子装置、Webページ生成方法、及びWebページ生成プログラム | |
CN104424619A (zh) | 信息处理设备和信息处理方法 | |
CN103677794A (zh) | 多功能一体机和系统及其脚本控制方法 | |
CN113590564A (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 |