"; 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++; } ?> stone's Tabula Recta
stone's Tabula Recta

Get / Generate Password: X axis Y axis length ordinal

Password: ",">",$display); echo $display; ?>     

 

created by: stone@obscurity.com, free to use.