";
mysql_query($q, $db_conn);
$j++;
}
}
}
function makeNewCharString($len) {
$char = ''; //intialize to be blank
for($i=0; $i<$len; $i++) {
switch(rand(1,5)) {
case 1: $char.=chr(rand(49,57)); break; //1-9, no zero
case 2: $char.=chr(rand(65,90)); break; //A-Z
case 3: $char.=chr(rand(97,122)); break; //a-z
case 4: $char.=chr(rand(33,47)); break; //!-/
case 5: $char.=chr(rand(58,64)); break; //:-@
}
}
$inv = array(34,39,42); //invalid mysql chars
$inv_count = count($inv);
for ($j=0; $j<$inv_count; $j++) {
if ($char == chr($inv[$j])) {
$char = "~"; // make it a tilde
}
}
return $char;
}
function getPassword($x,$y,$len,$ord,$db_conn) {
$x = mysql_real_escape_string($x);
$y = mysql_real_escape_string($y);
$q = "SELECT recta_number FROM tabula_recta WHERE axis_X = '$x' AND axis_Y = '$y'";
// echo $q;
$rs_data = mysql_query($q, $db_conn);
while ($row = mysql_fetch_assoc($rs_data)) {
$startnumber = $row["recta_number"];
}
// echo $startnumber . ":st
";
$max = 676;
$a = array();
$curr = $startnumber;
switch($ord) {
case "across":
for ($j=1; $j<=$len; $j++) {
$a[$j] = $curr++;
if ($curr > $max) {
$curr = 1;
}
}
break;
case "down":
$a[1] = $curr;
for ($j=2; $j<=$len; $j++) {
$curr = $curr + 26;
if ($curr > $max) {
$curr = $curr - $max;
}
$a[$j] = $curr;
}
break;
case "diagonal":
$a[1] = $curr;
$b = 1;
$c = 1;
for ($j=2; $j<=$len; $j++) {
$curr = $curr + 26;
if ($curr % 26 == 0) {
$curr = ($curr + 1) - 26;
} else {
$curr = $curr + $b;
}
if ($curr > $max) {
$curr = $curr - $max;
}
$a[$j] = $curr;
$c++;
}
break;
case "everyotherone":
$a[1] = $curr;
for ($j=2; $j<=$len; $j++) {
$curr = $curr + 2;
if ($curr > $max) {
$curr = $curr - $max;
}
$a[$j] = $curr;
}
break;
case "everythirdone":
$a[1] = $curr;
for ($j=2; $j<=$len; $j++) {
$curr = $curr + 3;
if ($curr > $max) {
$curr = $curr - $max;
}
$a[$j] = $curr;
}
break;
case "primes":
// first two zeros are important
$primes = array(0,0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97);
$a[1] = $curr;
for ($j=2; $j<=$len; $j++) {
$curr = $curr + $primes[$j];
if ($curr > $max) {
$curr = $curr - $max;
}
$a[$j] = $curr;
}
break;
case "fib":
// first two zeros are important
$fibs = array(0,0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987);
$a[1] = $curr;
for ($j=2; $j<=$len; $j++) {
$curr = $curr + $fibs[$j];
if ($curr > $max) {
$curr = $curr - $max;
}
$a[$j] = $curr;
}
break;
case "pi":
// first two zeros are important
$pin = array(0,0,3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6);
$a[1] = $curr;
for ($j=2; $j<=$len; $j++) {
$curr = $curr + $pin[$j];
if ($curr > $max) {
$curr = $curr - $max;
}
$a[$j] = $curr;
}
break;
case "lost":
// first two zeros are important
$lost = array(0,0,4,8,15,16,23,42,4,8,15,16,23,42,4,8,15,16,23,42,4,8,15,16,23,42);
$a[1] = $curr;
for ($j=2; $j<=$len; $j++) {
$curr = $curr + $lost[$j];
if ($curr > $max) {
$curr = $curr - $max;
}
$a[$j] = $curr;
}
break;
}
// print_r($a);
return $a;
}
$password = getPassword($x,$y,$len,$ord,$db_conn);
// get recta values
$q = "SELECT axis_X, axis_Y, recta_char, recta_number FROM tabula_recta ORDER BY axis_X, axis_Y";
$rs_data = mysql_query($q, $db_conn);
$j = 1;
while ($row = mysql_fetch_assoc($rs_data)) {
$recta[$j] = $row["recta_char"];
// echo $j;
$j++;
}
?>
Password: ",">",$display); echo $display; ?>