RainCAD

keygen

by Barbos

HTML

<form action="" method="post" name="frmGenerateSN" id="frmGenerateSN" onsubmit="GenerateSN(); return false;" language="JavaScript">
  <fieldset>
    <legend>RainCAD AutoCAD Edition keygen</legend>

    <label for="RCVersion">RainCAD version:
      <select name="RCVersion" id="RCVersion" class="textbox">
        <option value="20" selected="1">RainCAD 2020 AutoCAD® Edition</option>
        <option value="19">RainCAD 2019 AutoCAD® Edition</option>
        <option value="18">RainCAD 2018 AutoCAD® Edition</option>
        <option value="5">RainCAD 5</option>
        <option value="4">RainCAD 4</option>
      </select>
    </label><br>

    <label for="MachineID">Machine ID: <input name="MachineID" id="MachineID" class="textbox"></label><br>
    <label for="moduleType">Module type:
      <select name="moduleType" id="moduleType" class="textbox">
        <option value="1">RainCAD \ Land Illustrator</option>
        <option value="2">RainCAD</option>
        <option value="3">Land Illustrator</option>
      </select>
    </label><br>
    <label for="RCSerial">Serial Number: <input size=50 name="RCSerial" id="RCSerial" class="textbox"></label><br>
    <input type="submit" name="cmdSubmit" id="cmdSubmit" value="Generate">
  </fieldset>

</form>

CSS

body {
    background: #20262E;
    padding: 20px;
    font-family: Helvetica;
    color: #fff;
  }

  .textbox {
    width: 20em;
    margin-left: 2em;
    display: block;
  }

  LABEL {
    display: block;
    width: 20em;
  }

  LEGEND {
    font-weight: bold;
  }

JavaScript

function GenerateSN() {
  var MachineID = document.frmGenerateSN.MachineID.value;
  var moduleType = document.frmGenerateSN.moduleType.value;
  var RCVersion = document.frmGenerateSN.RCVersion.value;

  if (isNaN(MachineID) || MachineID <= 0) {
    alert("Machine ID should be positive numeric value from RainCAD->About box");
    return false;
  }

  if (moduleType != 1 && moduleType != 2 && moduleType != 3) {
    moduleType = 10;
  } else {
    moduleType *= 10;
  }

  var iA = moduleType + Math.floor(Math.random() * 10);
  var iC = Math.round(Math.random() * 10000000);
  var iB = ((((MachineID * iA).toString()).split("")).reverse()).join("");
  iB = ((((iB - iC).toString()).split("")).reverse()).join("");

  document.frmGenerateSN.RCSerial.value = Array("RC" + RCVersion, iA, iB, iC).join("-");

  return false;
}