summaryrefslogtreecommitdiff
path: root/httemplate/elements/random_pass.html
blob: 14bbb581dc24d16bc47b24d3c5921bdc751ee8f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<INPUT TYPE="button" VALUE="<% emt($label) %>" onclick="randomPass()">
<SCRIPT TYPE="text/javascript">
function randomPass() {
  var lower='<% join('', 'a'..'z') %>';
  var upper='<% join('', 'A'..'Z') %>';
  var number='<% join('', '0'..'9') %>';
  var symbol='`~!@#$%^&*-_=+:;<>,.?';
  var pw_set=lower+upper+number+symbol;
  var pass=[];
  pass.push(lower.charAt(Math.floor(Math.random() * lower.length)));
  pass.push(upper.charAt(Math.floor(Math.random() * lower.length)));
  pass.push(number.charAt(Math.floor(Math.random() * number.length)));
  pass.push(symbol.charAt(Math.floor(Math.random() * symbol.length)));
  var i=0;
  while(i < 4) {
    i++;
    pass.push(pw_set.charAt(Math.floor(Math.random() * pw_set.length)));
  }
  for(var j, x, i = pass.length; i; j = Math.floor(Math.random() * i), x = pass[--i], pass[i] = pass[j], pass[j] = x);
  pass = pass.join('');
  document.getElementById('<% $id %>').value = pass;
}
</SCRIPT>
<%init>
my $id = shift;
my $label = shift || 'Generate';
</%init>