Example #1
0
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/splash.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function getSplashScreen($msg = '', $formCode = '')
{
    if ($formCode) {
        $formCode = '<div class="login"><form method="post" action="" name="dbform" id="dbform" style="text-align:center">' . $formCode . '</form></div>';
    }
    $scripts = "jquery";
    $extraScript = "";
    if (secureLoginPage()) {
        $scripts = "jquery,encrypt";
        $e = Session::get('auth_enc', 'e');
        $d = Session::get('auth_enc', 'd');
        $n = Session::get('auth_enc', 'n');
        $keyLength = 128;
        if (!$e || !$d || !$n) {
            $enc_lib = BASE_PATH . (extension_loaded('openssl') && extension_loaded('gmp') && extension_loaded('bcmath') ? "/lib/external/jcryption.php" : "/lib/external/jcryption-legacy.php");
            require_once $enc_lib;
            $jCryption = new jCryption();
            $keys = $jCryption->generateKeypair($keyLength);
            $e = array("int" => $keys["e"], "hex" => $jCryption->dec2string($keys["e"], 16));
            $d = array("int" => $keys["d"], "hex" => $jCryption->dec2string($keys["d"], 16));
            $n = array("int" => $keys["n"], "hex" => $jCryption->dec2string($keys["n"], 16));
            Session::set('auth_enc', 'e', $e);
            Session::set('auth_enc', 'd', $d);
            Session::set('auth_enc', 'n', $n);
        }
        $keyData = '{"e":"' . $e["hex"] . '","n":"' . $n["hex"] . '","maxdigits":"' . intval($keyLength * 2 / 16 + 3) . '"}';
        $extraScript = '<script language="javascript" type="text/javascript">
									$(function() {
										$.jCryption.defaultOptions.getKeysURL = ' . $keyData . ';
										$("#dbform").jCryption();
									});
								</script>';
    }
    $replace = array('MESSAGE' => $msg ? '<div class="msg">' . htmlspecialchars($msg) . '</div>' : '', 'FORM' => $formCode, 'APP_VERSION' => APP_VERSION, 'PROJECT_SITEURL' => PROJECT_SITEURL, 'SCRIPTS' => $scripts, 'EXTRA_SCRIPT' => $extraScript);
    return view('splash', $replace);
}
     echo '[{"result":"admin_email_send_backlog", ' . @sendEmail($LANG['admin_email_test_subject'], $LANG['admin_email_test_body'], $_SESSION['settings']['email_from']) . '}]';
     break;
     /*
      * Generate exchanges encryption keys
      */
 /*
  * Generate exchanges encryption keys
  */
 case "admin_action_generate_encrypt_keys":
     require_once "../includes/libraries/jCryption/jcryption.php";
     $keyLength = 1024;
     $jCryption = new jCryption();
     $numberOfPairs = 100;
     $arrKeyPairs = array();
     for ($i = 0; $i < $numberOfPairs; $i++) {
         $arrKeyPairs[] = $jCryption->generateKeypair($keyLength);
     }
     $file = array();
     $file[] = '<?php';
     $file[] = '$arrKeys = ';
     $file[] = var_export($arrKeyPairs, true);
     $file[] = ';';
     file_put_contents(SECUREPATH . "/" . $numberOfPairs . "_" . $keyLength . "_keys.inc.php", implode("\n", $file));
     echo '[{"result":"generated_keys_file", "error":""}]';
     break;
     /*
      * Correct passwords prefix
      */
     /*case "admin_action_pw_prefix_correct":
             require_once 'main.functions.php';
             $numOfItemsChanged = 0;
Example #3
0
<?php

session_start();
require_once "../../jcryption.php";
$keyLength = 256;
$jCryption = new jCryption();
if (isset($_GET["generateKeypair"])) {
    $keys = $jCryption->generateKeypair($keyLength);
    $_SESSION["e"] = array("int" => $keys["e"], "hex" => $jCryption->dec2string($keys["e"], 16));
    $_SESSION["d"] = array("int" => $keys["d"], "hex" => $jCryption->dec2string($keys["d"], 16));
    $_SESSION["n"] = array("int" => $keys["n"], "hex" => $jCryption->dec2string($keys["n"], 16));
    echo '{"e":"' . $_SESSION["e"]["hex"] . '","n":"' . $_SESSION["n"]["hex"] . '","maxdigits":"' . intval($keyLength * 2 / 16 + 3) . '"}';
} else {
    $var = $jCryption->decrypt($_POST['jCryption'], $_SESSION["d"]["int"], $_SESSION["n"]["int"]);
    echo $var;
}
 public function GenKeyPair()
 {
     $keyfile = Service::ServiceData(SInfo::DATA_ADMIN_KEYFILE);
     $mykeys = NULL;
     $keyLength = 512;
     if (file_exists($keyfile)) {
         $str = file_get_contents($keyfile);
         if ($str != '') {
             $mykeys = unserialize($str);
         }
     }
     if ($mykeys == NULL) {
         $jCryption = new jCryption();
         $keys = $jCryption->generateKeypair($keyLength);
         $e_hex = $jCryption->dec2string($keys['e'], 16);
         $n_hex = $jCryption->dec2string($keys['n'], 16);
         $mykeys = array('e_hex' => $e_hex, 'n_hex' => $n_hex, 'd_int' => $keys['d'], 'n_int' => $keys['n']);
         $serialized_str = serialize($mykeys);
         file_put_contents($keyfile, $serialized_str);
         chmod($keyfile, 0600);
     }
     $_SESSION['d_int'] = $mykeys['d_int'];
     $_SESSION['n_int'] = $mykeys['n_int'];
     return '{"e":"' . $mykeys['e_hex'] . '","n":"' . $mykeys['n_hex'] . '","maxdigits":"' . intval($keyLength * 2 / 16 + 3) . '"}';
 }