NasupiiのPerl書抜帳

パスワード発生器ソースコード


  HTML ソースコード

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
  <title>パスワード発生器</title>
  <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
  <meta http-equiv="Content-Style-Type" content="text/css">
  <!-- 2010 Nasupii -->
  <style type="text/css">
  <!--
  body    { background-color: #ffddee;
            font-size: 100%; font-family: "MS ゴシック",sans-serif;
            margin: 1px 3px; padding: 0px 0px; }  
 .subject { color: #333333; text-align: center; font-size: 32px;
            font-weight: bold; margin: 0px; padding: 10px;}
-->
</style>
  <script type="text/javascript">
  <!--
  function gen_password()
  {
    s = new Array("2345678923456789", "abcdefghijkmnpqrstuvwxyz",
        "ABCDEFGHJKLMNPQRSTUVWXYZ", "#$%&()+-=?@");

    nn=document.forms.F.col.value-0;
    if(nn<6 || nn>16) {
      nn=8;
    }
    ty=document.forms.F.typ.value;
    if(ty=="n") {
      sel="0000000000000000000000000";
    }else if(ty=="an") {
      sel="0120120120120120120120120";
    }else {
      sel="0123012301230120120120120";
    }
    str = "";
    for (i = nn; i >0; i--) {
      j = Math.floor(Math.random() * i);
      m = sel.charAt(j)-0;
      if(j==0) {
        sel=sel.substring(1);
      }else if(j==i-1){
        sel=sel.substring(0,j);
      }else{
        sel=sel.substring(0,j)+sel.substring(j+1);
      }
      k=Math.floor(Math.random() * s[m].length);
      str_a = s[m].charAt(k);
      str += str_a;
      s[m] = s[m].replace(str_a,"");
    }
    document.forms.F.disp.value= str;
    window.clipboardData.setData("text",str);
    return(1);
  }
  // -->
  </script>
</head>
<body>
<div class="subject">パスワード発生器</div>
<div style="text-align: center;">
JavaScriptでランダムな英数記号の文字列を発生するとともに、クリップボードにコピーします。
</div>
<hr>
<form name="F" action="javascript://">
<div>
 <select style="font-size: 1.5em;" name="col">
    <option value="6">6桁
    <option value="7">7桁
    <option value="8" selected>8桁
    <option value="9">9桁
    <option value="10">10桁
    <option value="11">11桁
    <option value="12">12桁
    <option value="13">13桁
    <option value="14">14桁
    <option value="15">15桁
    <option value="16">16桁
  </select>
 <select style="font-size: 1.5em;" name="typ">
    <option value="san" selected>英数記号
    <option value="an">英数字
    <option value="n"> 数字のみ
  </select>
 <input style="font-size: 1.1em;" value="発生" type="button" onclick="gen_password()"><br><br>
 <input style="font-size: 3em;" name="disp" type="text" size="28"><br><br></div>
<ul>
<li>発生させる文字列の長さを6〜16桁の範囲で選択することができます。</li>
<li>使用する文字の種類を選ぶことが出来ます。<br>
    英字 ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz<br>
    数字 23456789<br>
    記号 #$%&()+-=?@</li>
<li>見間違え易い文字は省いています。(数字の 0,1 大文字の I,O 小文字の l,o)</li>
<li>強いパスワードを作りたい場合は 英数記号で 8桁以上 または 英数字 10桁以上が必要です</li>
</ul>
<hr>
<br><br><br><br><br><br><br><br><br><br><br>
</form>
</body>
</html>

Copyright (C) Nasupii