Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<input type="text" id="in" placeholder="Employee ID"/>
  <button id="go">Get Key</button>
  <div id="out"></div>
</body>
</html>
 
document.querySelector('#go').onclick = function () {
  id = Number(document.querySelector("#in").value);
  document.querySelector("#out").innerHTML = ID2Key(id,7684512);
  
}
function ID2Key(id, secret) {
    var table = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    var key = new Array(5); // Initialize the key
    var scrambled = id ^ secret; // "Encrypt" the employee ID with a secret
    var capital_index = scrambled % 2; // Determine if the Capital letter should be first
    scrambled = (scrambled - capital_index) / 2;
    var capital = table[36 + (scrambled % 26)]; // Find the capital letter
    key[capital_index] = capital;
    scrambled = (scrambled - (scrambled % 26)) / 26;
    var num = scrambled % 10; // Find the number
    key[1-capital_index] = table[num]; // If the capital letter is first place the number second and visa versa
    scrambled = (scrambled - (scrambled % 10)) / 10;
    // Find the remaining 3 characters
    key[2] = table[scrambled % 62];
    scrambled = (scrambled - (scrambled % 62)) / 62;
    key[3] = table[scrambled % 62];
    scrambled = (scrambled - (scrambled % 62)) / 62;
    key[4] = table[scrambled % 62];
    return key.join("");
}
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers