/iaLib/ia_examples/ia/Lib/iaPwd_example.php
<?php
$ia_example = [
'title' => 'ia\Lib\iaPwd', // fully qualified className
'summary' => '', // class summary
'full_example' => '', // full usage example, relative path from ia_examples, blank '' not shown.
'example_file' => 'code/ia/Lib/iaPwd_example_code.php', // method by method example, blank '' not shown.
];
include( __DIR__ . '/../../template/ia_example_class.php');
/iaLib/ia_examples/code/ia/Lib/iaPwd_example_code.php
use ia\Lib\iaPwd;
use ia\DocumentIt\DocumentIt;
echo '<h3>Disclaimer: Auto generated file.
Please help us setting parameters to useful values and extending the examples.
</h3>';
try {
echo <<< CONSTRUCTOR_PROTOTYPE
<pre>
/**
* iaPwd::__construct()
*
* @param int \$algorithm php's algorithm constant
* @param integer \$cost
* @param array \$policy
*/
/*
\$iaPwd = new iaPwd(<span class="type">int \$algorithm php's</span> \$algorithm <span class="default">= '2y'</span>, <span class="type">integer</span> \$cost <span class="default">= 10</span>, <span class="type">array</span> \$policy <span class="default">= []</span>);
*/
\$iaPwd = new iaPwd();
</pre>
CONSTRUCTOR_PROTOTYPE;
$iaPwd = new iaPwd();
echo '<ul class="usage">';
///////// \$iaPwd->get_policy(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_get_policy'><b>\$iaPwd->get_policy() <span>: array</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaPwd", "get_policy")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$iaPwd->get_policy();
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
$iaPwd->get_policy()
);
echo "</pre>";
echo '</ol>';
///////// \$iaPwd->set_policy(['a' => '1', 'b' => '2', 'c' => 3]); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_set_policy'><b>\$iaPwd->set_policy(<span class="type">array</span> \$policy) <span>: </span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaPwd", "set_policy")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$iaPwd->set_policy(['a' => '1', 'b' => '2', 'c' => 3]);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
$iaPwd->set_policy(['a' => '1', 'b' => '2', 'c' => 3])
);
echo "</pre>";
echo '</ol>';
///////// \$iaPwd->set_irregularSequences(null /* == */); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_set_irregularSequences'><b>\$iaPwd->set_irregularSequences(<span class="type"></span> \$irregularSequences) <span>: </span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaPwd", "set_irregularSequences")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$iaPwd->set_irregularSequences(null /* == */);
-> </b><br><pre>
DOCUMENT_EXAMPLE;
/// run ///
print_r(
$iaPwd->set_irregularSequences(null /* == */)
);
echo "</pre>";
echo '</ol>';
///////// \$iaPwd->passwordPolicyCheck('palabra'); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_passwordPolicyCheck'><b>\$iaPwd->passwordPolicyCheck(<span class="type">string</span> \$pwd) <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaPwd", "passwordPolicyCheck")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$iaPwd->passwordPolicyCheck('palabra'); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $iaPwd->passwordPolicyCheck('palabra');
echo '</ol>';
///////// \$iaPwd->passwordHash('palabra'); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_passwordHash'><b>\$iaPwd->passwordHash(<span class="type">string</span> \$password) <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaPwd", "passwordHash")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$iaPwd->passwordHash('palabra'); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $iaPwd->passwordHash('palabra');
echo '</ol>';
///////// \$iaPwd->passwordVerify('palabra', 'palabra'); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_passwordVerify'><b>\$iaPwd->passwordVerify(<span class="type">string</span> \$password, <span class="type">string</span> \$hash) <span>: bool</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaPwd", "passwordVerify")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$iaPwd->passwordVerify('palabra', 'palabra'); ->
DOCUMENT_EXAMPLE;
///run ///
echo ($iaPwd->passwordVerify('palabra', 'palabra') ? 'true' : 'false');
echo '</ol>';
///////// \$iaPwd->passwordNeedsRehash('palabra'); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_passwordNeedsRehash'><b>\$iaPwd->passwordNeedsRehash(<span class="type">string</span> \$hash) <span>: string</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaPwd", "passwordNeedsRehash")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$iaPwd->passwordNeedsRehash('palabra'); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $iaPwd->passwordNeedsRehash('palabra');
echo '</ol>';
///////// \$iaPwd->costRecomended(); //////////////////////////////////////////////////
echo <<< FUNCTIONDEF
<li id='u_costRecomended'><b>\$iaPwd->costRecomended(<span class="type">float</span> \$timeTarget <span class="default">= 0.1</span>) <span>: int</span></b>
FUNCTIONDEF;
echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Lib\iaPwd", "costRecomended")."</pre>";
echo "<ol class='usage'>";
/// display ///
echo <<< DOCUMENT_EXAMPLE
<li>\$iaPwd->costRecomended(); ->
DOCUMENT_EXAMPLE;
/// run ///
echo $iaPwd->costRecomended();
echo '</ol>';
/* PerfilExample adds new methods here */
echo '</ul>';
} catch(Exception $exception) { echo "<pre class='errorBlock'>$exception</pre>"; }
phpunit test file template
<?php
use ia\Lib\iaPwd;
use PHPUnit\Framework\TestCase;
class iaPwdTest extends TestCase {
/**
* @dataProvider get_policy_Provider
*
*/
public function test_get_policy( $expected) {
$iaPwd = new iaPwd($algorithm, $cost, $policy);
$this->assertEquals($expected, $iaPwd->get_policy() );
}
function get_policy_Provider() {
return [
'test 1' => [ '' ],
];
}
/**
* @dataProvider set_policy_Provider
*
*/
public function test_set_policy($policy , $expected) {
$iaPwd = new iaPwd($algorithm, $cost, $policy);
$this->assertEquals($expected, $iaPwd->set_policy($policy) );
}
function set_policy_Provider() {
return [
'test 1' => [ '', '' ],
];
}
/**
* @dataProvider set_irregularSequences_Provider
*
*/
public function test_set_irregularSequences($irregularSequences , $expected) {
$iaPwd = new iaPwd($algorithm, $cost, $policy);
$this->assertEquals($expected, $iaPwd->set_irregularSequences($irregularSequences) );
}
function set_irregularSequences_Provider() {
return [
'test 1' => [ '', '' ],
];
}
/**
* @dataProvider passwordPolicyCheck_Provider
*
*/
public function test_passwordPolicyCheck($pwd , $expected) {
$iaPwd = new iaPwd($algorithm, $cost, $policy);
$this->assertEquals($expected, $iaPwd->passwordPolicyCheck($pwd) );
}
function passwordPolicyCheck_Provider() {
return [
'test 1' => [ '', '' ],
];
}
/**
* @dataProvider passwordHash_Provider
*
*/
public function test_passwordHash($password , $expected) {
$iaPwd = new iaPwd($algorithm, $cost, $policy);
$this->assertEquals($expected, $iaPwd->passwordHash($password) );
}
function passwordHash_Provider() {
return [
'test 1' => [ '', '' ],
];
}
/**
* @dataProvider passwordVerify_Provider
*
*/
public function test_passwordVerify($password, $hash , $expected) {
$iaPwd = new iaPwd($algorithm, $cost, $policy);
$this->assertEquals($expected, $iaPwd->passwordVerify($password, $hash) );
}
function passwordVerify_Provider() {
return [
'test 1' => [ '', '', '' ],
];
}
/**
* @dataProvider passwordNeedsRehash_Provider
*
*/
public function test_passwordNeedsRehash($hash , $expected) {
$iaPwd = new iaPwd($algorithm, $cost, $policy);
$this->assertEquals($expected, $iaPwd->passwordNeedsRehash($hash) );
}
function passwordNeedsRehash_Provider() {
return [
'test 1' => [ '', '' ],
];
}
/**
* @dataProvider costRecomended_Provider
*
*/
public function test_costRecomended($timeTarget , $expected) {
$iaPwd = new iaPwd($algorithm, $cost, $policy);
$this->assertEquals($expected, $iaPwd->costRecomended($timeTarget) );
}
function costRecomended_Provider() {
return [
'test 1' => [ '', '' ],
];
}
}
ia Doc