Exemplo n.º 1
0
 function _getChallenge($max_id, $attempts)
 {
     $random =& fbRandom::getInstance();
     // sha1 needs 80
     $entropy = $random->nextBytes(64) . $random->getEntropy() . sprintf('%20s', $max_id) . sprintf('%03d', $attempts);
     // convert 32 byte hex string to 22 byte base 64 string
     $challenge = base64_encode(pack('H*', md5($entropy)));
     // discard superfluous trailing '==' chars
     $challenge = substr($challenge, 0, 22);
     return $challenge;
 }
Exemplo n.º 2
0
        $fb_random =& new fbRandom_LCG();
        break;
    case 'fbRandom_GMP':
        $fb_random =& new fbRandom_GMP();
        break;
    case 'non_blocking':
        $fb_random =& fbRandom::getInstance(false);
        break;
    case 'blocking':
        $fb_random =& fbRandom::getInstance(true);
        break;
    case 'seedable':
        $fb_random =& fbRandom::getInstance(null, 1);
        break;
    case 'blocking_seedable':
        $fb_random =& fbRandom::getInstance(true, 1);
        break;
    default:
        $fb_random =& new fbRandom_MT_Rand();
        break;
}
$iterations = isset($_REQUEST['iterations']) ? (int) $_REQUEST['iterations'] : 10;
$length = isset($_REQUEST['length']) ? (int) $_REQUEST['length'] : 10;
$seed = isset($_REQUEST['seed']) ? $_REQUEST['seed'] : null;
if ($seed != null) {
    $fb_random->setSeed($seed);
}
echo "\n<form>\nRNG:\n<select name='random'>\n<option {$selected['fbRandom_Rand']}   \t\tvalue='fbRandom_Rand'>fbRandom_Rand (rand())</option>\n<option {$selected['fbRandom_MT_Rand']}    \tvalue='fbRandom_MT_Rand'>fbRandom_MT_Rand (mt_rand())</option>\n<option {$selected['fbRandom_DevRandom']}   value='fbRandom_DevRandom'>fbRandom_DevRandom (/dev/random)</option>\n<option {$selected['fbRandom_DevUrandom']}  value='fbRandom_DevUrandom'>fbRandom_DevUrandom (/dev/urandom)</option>\n<option {$selected['fbRandom_Win32']}\t\tvalue='fbRandom_Win32'>fbRandom_Win32</option>\n<option {$selected['fbRandom_LCG']}\t\t\tvalue='fbRandom_LCG'>fbRandom_LCG</option>\n<option {$selected['fbRandom_GMP']}\t\t\tvalue='fbRandom_GMP'>fbRandom_GMP</option>\n<option {$selected['blocking']}          \tvalue='blocking'>Blocking</option>\n<option {$selected['seedable']}          \tvalue='seedable'>Seedable</option>\n<option {$selected['blocking_seedable']}    value='blocking_seedable'>Blocking & Seedable</option>\n</select>\n<br />\nIterations:\n<input type='text' name='iterations' value='{$iterations}' />\n<br />\nLength:\n<input type='text' name='length' value='{$length}' />\n<br />\nSeed:\n<input type='text' name='seed' value='{$seed}' />\n<br />\n<input type='submit' name='submit' value='Select' />\n</form>\n<pre>\n";
echo 'Using ', get_class($fb_random), ' class<br /><br /><br />';
for ($i = 0; $i < $iterations; ++$i) {
    $b = $fb_random->nextBoolean();
Exemplo n.º 3
0
<?php

// $CVSHeader: _freebeer/www/demo/lib.crypt.php,v 1.2 2004/03/07 17:51:34 ross Exp $
// Copyright (c) 2002-2004, Ross Smith.  All rights reserved.
// Licensed under the BSD or LGPL License. See license.txt for details.
require_once './_demo.php';
require_once FREEBEER_BASE . '/lib/Random.php';
echo html_header_demo('JavaScript Crypt Class', '../lib/crypt.js');
$rng = fbRandom::getInstance();
$salt = $rng->nextSalt();
if (!isset($_REQUEST['t_crypt_in'])) {
    $_REQUEST['t_crypt_in'] = 'enter text to encrypt here';
}
if (!@$_REQUEST['t_crypt_salt_in']) {
    $_REQUEST['t_crypt_salt_in'] = $salt;
}
?>
<script type="text/javascript" language="JavaScript" src="../lib/crypt.js"></script>
<script type="text/javascript" language="JavaScript">
<!-- // <![CDATA[
function btn_crypt_onclick(f) {
	var crypted = crypt(f.t_crypt_in.value, f.t_crypt_salt_in.value);
	f.t_crypt_out.value			= crypted;
	f.t_crypt_salt_out.value	= crypted.substr(0, 2);
	return false;
}
// ]]> -->
</script>

<form method="post" name='frm_crypt'>
<table>