remove password generator
This commit is contained in:
		
							
								
								
									
										272
									
								
								password.html
									
									
									
									
									
								
							
							
						
						
									
										272
									
								
								password.html
									
									
									
									
									
								
							@@ -1,272 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
 | 
			
		||||
<head>
 | 
			
		||||
  <meta charset="UTF-8">
 | 
			
		||||
  <title>Secure Password Generator | Privacy Tools</title>
 | 
			
		||||
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
 | 
			
		||||
 | 
			
		||||
	<!-- content security policy -->
 | 
			
		||||
	<!-- <meta http-equiv='Content-Security-Policy' content="default-src 'self'; script-src https://privacytoolsio.github.io http://privacytoolsio.github.io; style-src 'self'"> -->
 | 
			
		||||
 | 
			
		||||
	<!-- referrer policy -->
 | 
			
		||||
  <meta http-equiv="Referrer-Policy" content="no-referrer">
 | 
			
		||||
  
 | 
			
		||||
  
 | 
			
		||||
  <link href="css/bootstrap.min.css" rel="stylesheet">
 | 
			
		||||
  <style>
 | 
			
		||||
    .container {
 | 
			
		||||
      margin: 30px;
 | 
			
		||||
      max-width: 600px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .form-container {
 | 
			
		||||
      background-color: #F8F8F8;
 | 
			
		||||
      border: 1px #F0F0F0 solid;
 | 
			
		||||
      padding: 10px;
 | 
			
		||||
      margin-bottom: 20px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .unsupported-browser-alert {
 | 
			
		||||
      display: none;
 | 
			
		||||
    }
 | 
			
		||||
  </style>
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
<body>
 | 
			
		||||
  <div class="container">
 | 
			
		||||
    <h1>
 | 
			
		||||
      <a href="https://www.privacytools.io/">
 | 
			
		||||
        <img src="img/layout/logo.png" alt="privacytools.io" class="img-responsive">
 | 
			
		||||
      </a>
 | 
			
		||||
    </h1>
 | 
			
		||||
    <h1>Secure Password Generator</h1>
 | 
			
		||||
    <noscript>
 | 
			
		||||
      <div class="alert alert-danger"><span class="glyphicon glyphicon-warning-sign"></span> <strong>Hold on.</strong> It looks like you have disabled JavaScript. Unfortunately, this tool will
 | 
			
		||||
        not work until you enable it.</div>
 | 
			
		||||
    </noscript>
 | 
			
		||||
    <div class="alert alert-danger unsupported-browser-alert" id="unsupported-browser-alert">
 | 
			
		||||
      <p>
 | 
			
		||||
        <span class="glyphicon glyphicon-warning-sign"></span> <strong>Hold on.</strong> It looks like you are using an <em>unsupported browser</em> (probably Internet
 | 
			
		||||
        Explorer...) Unfortunately, this tool will not work until you upgrade your
 | 
			
		||||
        browser. Sorry for any inconvenience caused.
 | 
			
		||||
      </p>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="alert alert-info" role="alert">
 | 
			
		||||
      <p>Use this online tool to generate a strong and random password. The available characters in each set are user friendly - there are no ambiguous characters such as i, l, 1, o, 0, etc. Password generation is done on the client-side meaning no one has access to the passwords you generate here. </p>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-container clearfix ">
 | 
			
		||||
      <div class="form-group">
 | 
			
		||||
        <label>Secure Password:</label>
 | 
			
		||||
        <div class="input-group">
 | 
			
		||||
          <input type="text" class="form-control" id="password-input" onclick="this.focus();this.select()" readonly>
 | 
			
		||||
          <span class="input-group-btn">
 | 
			
		||||
            <button class="btn btn-default" id="generate-password-button" type="button">
 | 
			
		||||
              <span class="glyphicon glyphicon-refresh"></span>
 | 
			
		||||
              Generate Another
 | 
			
		||||
            </button>
 | 
			
		||||
          </span>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="form-group">
 | 
			
		||||
        <label>Password Length:</label>
 | 
			
		||||
        <select id="password-length" class="form-control">
 | 
			
		||||
          <option value="6">6</option>
 | 
			
		||||
          <option value="7">7</option>
 | 
			
		||||
          <option value="8">8</option>
 | 
			
		||||
          <option value="9">9</option>
 | 
			
		||||
          <option value="10">10</option>
 | 
			
		||||
          <option value="11">11</option>
 | 
			
		||||
          <option value="12">12</option>
 | 
			
		||||
          <option value="13">13</option>
 | 
			
		||||
          <option value="14">14</option>
 | 
			
		||||
          <option value="15">15</option>
 | 
			
		||||
          <option value="16">16</option>
 | 
			
		||||
          <option value="17">17</option>
 | 
			
		||||
          <option value="18">18</option>
 | 
			
		||||
          <option value="19">19</option>
 | 
			
		||||
          <option value="20">20</option>
 | 
			
		||||
          <option value="21">21</option>
 | 
			
		||||
          <option value="22">22</option>
 | 
			
		||||
          <option value="23">23</option>
 | 
			
		||||
          <option value="24">24</option>
 | 
			
		||||
          <option value="25">25</option>
 | 
			
		||||
          <option value="26">26</option>
 | 
			
		||||
          <option value="27">27</option>
 | 
			
		||||
          <option value="28">28</option>
 | 
			
		||||
          <option value="29">29</option>
 | 
			
		||||
          <option value="30">30</option>
 | 
			
		||||
          <option value="31">31</option>
 | 
			
		||||
          <option value="32"selected>32</option>
 | 
			
		||||
          <option value="33">33</option>
 | 
			
		||||
          <option value="34">34</option>
 | 
			
		||||
          <option value="35">35</option>
 | 
			
		||||
          <option value="36">36</option>
 | 
			
		||||
          <option value="37">37</option>
 | 
			
		||||
          <option value="38">38</option>
 | 
			
		||||
          <option value="39">39</option>
 | 
			
		||||
          <option value="40">40</option>
 | 
			
		||||
          <option value="41">41</option>
 | 
			
		||||
          <option value="42">42</option>
 | 
			
		||||
          <option value="43">43</option>
 | 
			
		||||
          <option value="44">44</option>
 | 
			
		||||
          <option value="45">45</option>
 | 
			
		||||
          <option value="46">46</option>
 | 
			
		||||
          <option value="47">47</option>
 | 
			
		||||
          <option value="48">48</option>
 | 
			
		||||
          <option value="49">49</option>
 | 
			
		||||
          <option value="50">50</option>
 | 
			
		||||
          <option value="51">51</option>
 | 
			
		||||
          <option value="52">52</option>
 | 
			
		||||
          <option value="53">53</option>
 | 
			
		||||
          <option value="54">54</option>
 | 
			
		||||
          <option value="55">55</option>
 | 
			
		||||
          <option value="56">56</option>
 | 
			
		||||
          <option value="57">57</option>
 | 
			
		||||
          <option value="58">58</option>
 | 
			
		||||
          <option value="59">59</option>
 | 
			
		||||
          <option value="60">60</option>
 | 
			
		||||
          <option value="61">61</option>
 | 
			
		||||
          <option value="62">62</option>
 | 
			
		||||
          <option value="63">63</option>
 | 
			
		||||
          <option value="64">64</option>
 | 
			
		||||
          <option value="65">65</option>
 | 
			
		||||
          <option value="66">66</option>
 | 
			
		||||
          <option value="67">67</option>
 | 
			
		||||
          <option value="68">68</option>
 | 
			
		||||
          <option value="69">69</option>
 | 
			
		||||
          <option value="70">70</option>
 | 
			
		||||
          <option value="71">71</option>
 | 
			
		||||
          <option value="72">72</option>
 | 
			
		||||
          <option value="73">73</option>
 | 
			
		||||
          <option value="74">74</option>
 | 
			
		||||
          <option value="75">75</option>
 | 
			
		||||
          <option value="76">76</option>
 | 
			
		||||
          <option value="77">77</option>
 | 
			
		||||
          <option value="78">78</option>
 | 
			
		||||
          <option value="79">79</option>
 | 
			
		||||
          <option value="80">80</option>
 | 
			
		||||
          <option value="81">81</option>
 | 
			
		||||
          <option value="82">82</option>
 | 
			
		||||
          <option value="83">83</option>
 | 
			
		||||
          <option value="84">84</option>
 | 
			
		||||
          <option value="85">85</option>
 | 
			
		||||
          <option value="86">86</option>
 | 
			
		||||
          <option value="87">87</option>
 | 
			
		||||
          <option value="88">88</option>
 | 
			
		||||
          <option value="89">89</option>
 | 
			
		||||
          <option value="90">90</option>
 | 
			
		||||
          <option value="91">91</option>
 | 
			
		||||
          <option value="92">92</option>
 | 
			
		||||
          <option value="93">93</option>
 | 
			
		||||
          <option value="94">94</option>
 | 
			
		||||
          <option value="95">95</option>
 | 
			
		||||
          <option value="96">96</option>
 | 
			
		||||
          <option value="97">97</option>
 | 
			
		||||
          <option value="98">98</option>
 | 
			
		||||
          <option value="99">99</option>
 | 
			
		||||
          <option value="100">100</option>
 | 
			
		||||
        </select>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="form-group collapse" id="advancedOptions">
 | 
			
		||||
        <label>
 | 
			
		||||
          <input type="checkbox" id="include-uppercase-chars-checkbox" checked> Upper-case
 | 
			
		||||
        </label>
 | 
			
		||||
        <label>
 | 
			
		||||
          <input type="checkbox" id="include-lowercase-chars-checkbox" checked> Lower-case
 | 
			
		||||
        </label>
 | 
			
		||||
        <label>
 | 
			
		||||
          <input type="checkbox" id="include-numbers-checkbox" checked> Numbers
 | 
			
		||||
        </label>
 | 
			
		||||
        <label>
 | 
			
		||||
          <input type="checkbox" id="include-special-chars-checkbox"> Special
 | 
			
		||||
        </label>
 | 
			
		||||
      </div>
 | 
			
		||||
      <a class="btn btn-default pull-right" data-toggle="collapse" href="#advancedOptions">
 | 
			
		||||
        <span class="glyphicon glyphicon-menu-hamburger"></span>
 | 
			
		||||
        Advanced Options
 | 
			
		||||
      </a>
 | 
			
		||||
    </div>
 | 
			
		||||
    <p>Source Code: <a href="https://github.com/privacytoolsIO/privacytools.io/blob/master/password.html" target="_blank">GitHub</a></p>
 | 
			
		||||
  </div>
 | 
			
		||||
  <script src="js/jquery-1.11.2.min.js"></script>
 | 
			
		||||
  <script src="js/bootstrap.min.js"></script>
 | 
			
		||||
  <script>
 | 
			
		||||
    var passwordGenerator = (function() {
 | 
			
		||||
      var generateRandomNum = function(max) {
 | 
			
		||||
        var crypto = window.crypto || window.msCrypto;
 | 
			
		||||
        if (!crypto) {
 | 
			
		||||
          throw new Error('Unsupported browser.');
 | 
			
		||||
        }
 | 
			
		||||
        // http://stackoverflow.com/a/18230432
 | 
			
		||||
        var array = new Uint8Array(1);
 | 
			
		||||
        crypto.getRandomValues(array);
 | 
			
		||||
        var range = max + 1;
 | 
			
		||||
        var max_range = 256;
 | 
			
		||||
        if (array[0] >= Math.floor(max_range / range) * range)
 | 
			
		||||
          return generateRandomNum(max);
 | 
			
		||||
        return (array[0] % range);
 | 
			
		||||
      };
 | 
			
		||||
      var generatePassword = function(options) {
 | 
			
		||||
        var uppercase = "ABCDEFGHJKMNPQRSTUVWXYZ";
 | 
			
		||||
        var lowercase = "abcdefghjkmnpqrstuvwxyz";
 | 
			
		||||
        var numbers = "23456789";
 | 
			
		||||
        var special = "!@#$%&*?";
 | 
			
		||||
        var candidates = '';
 | 
			
		||||
        if (options.includeUppercaseChars) {
 | 
			
		||||
          candidates += uppercase;
 | 
			
		||||
        }
 | 
			
		||||
        if (options.includeLowercaseChars) {
 | 
			
		||||
          candidates += lowercase;
 | 
			
		||||
        }
 | 
			
		||||
        if (options.includeNumbers) {
 | 
			
		||||
          candidates += numbers;
 | 
			
		||||
        }
 | 
			
		||||
        if (options.includeSpecialChars) {
 | 
			
		||||
          candidates += special;
 | 
			
		||||
        }
 | 
			
		||||
        var password = "";
 | 
			
		||||
        for (var i = 0; i < options.passwordLength; i++) {
 | 
			
		||||
          var randomNum = generateRandomNum(candidates.length);
 | 
			
		||||
          password += candidates.substring(randomNum, randomNum + 1);
 | 
			
		||||
        }
 | 
			
		||||
        return password;
 | 
			
		||||
      };
 | 
			
		||||
      return {
 | 
			
		||||
        generatePassword: generatePassword
 | 
			
		||||
      };
 | 
			
		||||
    })();
 | 
			
		||||
    (function() {
 | 
			
		||||
      'use strict';
 | 
			
		||||
      function getOptions() {
 | 
			
		||||
        return {
 | 
			
		||||
          passwordLength: $("#password-length").val(),
 | 
			
		||||
          includeUppercaseChars: $("#include-uppercase-chars-checkbox").is(":checked"),
 | 
			
		||||
          includeLowercaseChars: $("#include-lowercase-chars-checkbox").is(":checked"),
 | 
			
		||||
          includeNumbers: $("#include-numbers-checkbox").is(":checked"),
 | 
			
		||||
          includeSpecialChars: $("#include-special-chars-checkbox").is(":checked"),
 | 
			
		||||
        };
 | 
			
		||||
      }
 | 
			
		||||
      function outputGeneratedPassword() {
 | 
			
		||||
        var password;
 | 
			
		||||
        try {
 | 
			
		||||
          password = passwordGenerator.generatePassword(getOptions());
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
          $("#unsupported-browser-alert").show();
 | 
			
		||||
          return;
 | 
			
		||||
        }
 | 
			
		||||
        if (password === '') {
 | 
			
		||||
          alert("Whoops. You unselected all the options. I don't know what characters you want. Click on the button entitled \"Advanced Options\" and enable some options then try again. Nice one");
 | 
			
		||||
          return;
 | 
			
		||||
        }
 | 
			
		||||
        $("#password-input").val(password);
 | 
			
		||||
      }
 | 
			
		||||
      $(function() {
 | 
			
		||||
        outputGeneratedPassword();
 | 
			
		||||
        $("#generate-password-button").click(outputGeneratedPassword);
 | 
			
		||||
      });
 | 
			
		||||
    })();
 | 
			
		||||
  </script>
 | 
			
		||||
</body>
 | 
			
		||||
 | 
			
		||||
</html>
 | 
			
		||||
		Reference in New Issue
	
	Block a user