当前位置: 首页 > 知识库问答 >
问题:

合成监视-返回随机生成的密码字符以用作变量

万开畅
2023-03-14

我目前正在使用JavaScript和Selenium驱动程序创建一个合成监视脚本。然而,网站登录由随机选择的密码字符身份验证组成。

例如,登录将要求:

3rd character of your password:[input]
5th character of your password:[input]
7th character of your password:[input]

请求的字符每次都会更改。

我需要返回随机生成的密码字符,并将它们用作变量,以允许我从我的密码中自动选择登录身份验证请求的任何内容。

到目前为止,我的脚本中有这样的内容,但它不起作用:

    var password_chars = element.getText();
    var char1 = parseInt(password_chars[1].match(/<div>(\d+)/)[1] -1);
    var char2 = parseInt(password_chars[2].match(/<div>(\d+)/)[1] -1);
    var char3 = parseInt(password_chars[3].match(/<div>(\d+)/)[1] -1); 

不幸的是,我不能包括任何细节,网站等,由于私人信息。

共有2个答案

束飞捷
2023-03-14

所以最终我把它搞定了,我是这样做的:

1.)首先返回包含请求的密码字符的元素,然后拆分该字符串,在我的示例中,我必须拆分一个新行。

2.)创建包含拆分字符串的数组。

3.)将每个字符请求解析为int。这是为了删除(th)或(nd)。例如,2秒->2

4.)现在从每一个整数中-1(数组从0开始)

5.)将int应用于密码数组以接收正确的字符。

6.)使脚本将正确的字符作为键发送。

包含以下代码

$browser.findElement($driver.By.className('answer')).getText()
.then(function(reqpwdchars) //7
{
        console.log(reqpwdchars);
        var psplit = [];
        psplit = reqpwdchars.split("\n")

        var char1 = psplit[0]
        var int_c1= parseInt(char1)
        int_c1=int_c1-1

        var char2 = psplit[1]
        var int_c2= parseInt(char2)
        int_c2=int_c2-1;

        var char3 = psplit[2]
        var int_c3= parseInt(char3)
        int_c3=int_c3-1

        var password_array = ['e','x','a','m','p','l','e'];

        var pc1 = password_array[int_c1];
        var pc2 = password_array[int_c2];
        var pc3 = password_array[int_c3]


 $browser.findElement($driver.By.id('char1-ID')).sendKeys(pc1)
        .then(function() //8
   {    

$browser.findElement($driver.By.id('char2-ID')).sendKeys(pc2)
        .then(function() //9
   {  

$browser.findElement($driver.By.id('char3-ID')).sendKeys(pc3)
        .then(function() //10
   {    

我要感谢John Kl的密码数组想法。

苏高旻
2023-03-14

如果我说对了,你想为你的密码创建一个数组。

 char[] pwd = { 'p', 'a', 's', 's', 'w', 'o', 'r', 'd' };

然后您将检查您被询问的密码中的位置。

要使用您的示例:

3rd character of your password:[input]
5th character of your password:[input]
7th character of your password:[input]

对于第一个输入使用pwd[2],对于第二个输入使用pwd[4],对于第三个输入使用pwd数组中的第7个位置pwd[6]

(如果您正在从网站的某个地方读取密码,您可能想要将密码字符串转换为Char数组。请查看这篇文章以获得实现此目的的简单方法。)

 类似资料:
  • 本文向大家介绍Python生成随机密码,包括了Python生成随机密码的使用技巧和注意事项,需要的朋友参考一下 本人  python新手,使用的环境是python2.7,勿喷 以上就是本文的全部内容了,希望对大家学习python能够有所帮助。

  • 问题内容: 我正在尝试在php中生成一个随机密码。 但是我得到所有的’a’s,返回类型是数组类型,我希望它是一个字符串。有关如何更正代码的任何想法? 谢谢。 问题答案: 安全警告 :不是加密安全的伪随机数生成器。寻找其他地方以在PHP中生成加密安全的伪随机字符串。 试试这个(使用代替,因为在字符串上总是):

  • 本文向大家介绍jQuery随机密码生成的方法,包括了jQuery随机密码生成的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery随机密码生成的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的jQuery程序设计有所帮助。

  • 本文向大家介绍用Java生成随机字符串,包括了用Java生成随机字符串的使用技巧和注意事项,需要的朋友参考一下 让我们首先声明一个字符串数组并初始化- 现在,创建一个Random对象- 生成随机字符串- 示例 输出结果 让我们再次运行它以获得不同的随机字符串-

  • 本文向大家介绍PHP 生成随机字符串,包括了PHP 生成随机字符串的使用技巧和注意事项,需要的朋友参考一下 要使用PHP生成随机字符串,代码如下- 示例 输出结果 示例 现在让我们来看另一个示例- 输出结果

  • cmf_random_string($len = 6) 功能 随机字符串生成 参数 $len: string 生成的字符串长度 返回 string 随机字符串