Saber 酱的抱枕

Fly me to the moon

11/5
2015
学习

使用js随机生成密码

今天要把许多网站的密码重新设置,所以自己写了个密码生成器。比较简陋,不过在简单的用途上应该算够用了。


您希望密码中包含哪些内容?

阿拉伯数字(0-9)
大写英文字母(A-Z)
小写英文字母(a-z)
特殊符号(键盘上除了\的所有输入符号)

请设置密码位数:

生成结果:



代码如下:

<p>您希望密码中包含哪些内容?</p>
<input type="checkbox" name="pwType" value="Number"> 阿拉伯数字(0-9)<br>
<input type="checkbox" name="pwType" value="Upper"> 大写英文字母(A-Z)<br>
<input type="checkbox" name="pwType" value="Lower"> 小写英文字母(a-z)<br>
<input type="checkbox" name="pwType" value="Punctuation"> 特殊符号(键盘上除了\的所有输入符号)<br><br>
请设置密码位数:<input type="text" name="pwLength" value="10"><br><br>
生成结果:<input  type="text" name="outputPw" /><br><br>
<button name="createPwButton">生成密码</button>
<script type="text/javascript">
   function createPW () {
       var allPw={
        "Number":"0123456789",
        "Upper":"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
        "Lower":"abcdefghijklmnopqrstuvwxyz",
        "Punctuation":"~!@#$%^&*()_+[]{}|`;:,./?><-="
       }
       var allowPw="";
       for (var i = 0; i < document.getElementsByName("pwType").length; i++) {
           if (document.getElementsByName("pwType")[i].checked) {
                allowPw+=allPw[document.getElementsByName("pwType")[i].value];
           };
       };
       var pwLength=parseInt(document.getElementsByName("pwLength")[0].value,10);
       var pwResult="";
       for (var i = 0; i < pwLength; i++) {
        var nowRandom=parseInt(Math.random()*allowPw.length,10);
            pwResult+=allowPw.substring(nowRandom, nowRandom+1);
        };
        document.getElementsByName("outputPw")[0].value=pwResult;
   }

   document.getElementsByName("createPwButton")[0].onclick=function  () {
       createPW();
   }
</script>

使用js随机生成密码

  1. lantis
    Google Chrome 64Google Chrome 64Mac OS X 10.13.3Mac OS X 10.13.3

    hello Saber, parseInt和substring 是什么意思,它们主要的作用是什么,我不是很明白,我刚开始学js , 很感激如果可以回复!!~O(∩_∩)O~

    回复
    1. saber 文章作者
      Google Chrome 64Google Chrome 64Windows 7 x64 EditionWindows 7 x64 Edition

      parseInt是把参数解析为整数数字。substring是在一个字符串里,指定开始位置和结束位置来截取一部分。

      回复
    1. saber 文章作者
      Google Chrome 46Google Chrome 46Windows 7 x64 EditionWindows 7 x64 Edition

      以后可以考虑使用 现在能全天自由翻墙了 (╯°口°)╯(┴—┴

      回复
  2. locationiskey
    Internet Explorer 11.0Internet Explorer 11.0Windows 7Windows 7

    汉字密码不是哪里都行的吧

    简单的密码生成方式————

    txt
    内容:
    网站名+用户名+自定义字符

    以hash的一部分作为密码。至于符号,可以根据另一hash按自定义规则添加

    这样,连你自己都记不得密码,要改也容易←_←

    回复
      1. locationiskey
        Internet Explorer 11.0Internet Explorer 11.0Windows 7Windows 7

        简单的就是md5 sha1之类的。复杂的可以加盐……

        都说了自己都记不住啊,只要记住生成方法就好

        回复