create() public method

Method to create the hashed value
public create ( string $string ) : string
$string string
return string
Exemplo n.º 1
0
 public function testMcrypt()
 {
     $crypt = new Crypt\Mcrypt();
     $crypt->setSalt('Test Salt');
     $this->assertEquals('Test Salt', $crypt->getSalt());
     $this->assertEquals(MCRYPT_RIJNDAEL_256, $crypt->getCipher());
     $this->assertEquals(MCRYPT_MODE_CBC, $crypt->getMode());
     $this->assertEquals(MCRYPT_RAND, $crypt->getSource());
     $hash = $crypt->create('12password34');
     $this->assertTrue($crypt->verify('12password34', $hash));
     $this->assertNotNull($crypt->getIv());
     $this->assertNotNull($crypt->getIvSize());
     $this->assertEquals('12password34', $crypt->decrypt($hash));
 }
Exemplo n.º 2
0
 /**
  * Static method encrypt a field value
  *
  * @param  string $value
  * @param  int    $encryption
  * @param  array  $options
  * @return string
  */
 public static function encrypt($value, $encryption, $options = array())
 {
     $encValue = $value;
     $salt = !empty($options['salt']) ? $options['salt'] : null;
     // Encrypt the value
     switch ($encryption) {
         case Auth::ENCRYPT_CRYPT_SHA_512:
             $crypt = new Crypt\Sha(512);
             $crypt->setSalt($salt);
             // Set rounds, if applicable
             if (!empty($options['rounds'])) {
                 $crypt->setRounds($options['rounds']);
             }
             $encValue = $crypt->create($value);
             break;
         case Auth::ENCRYPT_CRYPT_SHA_256:
             $crypt = new Crypt\Sha(256);
             $crypt->setSalt($salt);
             // Set rounds, if applicable
             if (!empty($options['rounds'])) {
                 $crypt->setRounds($options['rounds']);
             }
             $encValue = $crypt->create($value);
             break;
         case Auth::ENCRYPT_CRYPT_MD5:
             $crypt = new Crypt\Md5();
             $crypt->setSalt($salt);
             $encValue = $crypt->create($value);
             break;
         case Auth::ENCRYPT_MCRYPT:
             $crypt = new Crypt\Mcrypt();
             $crypt->setSalt($salt);
             // Set cipher, mode and source, if applicable
             if (!empty($options['cipher'])) {
                 $crypt->setCipher($options['cipher']);
             }
             if (!empty($options['mode'])) {
                 $crypt->setMode($options['mode']);
             }
             if (!empty($options['source'])) {
                 $crypt->setSource($options['source']);
             }
             $encValue = $crypt->create($value);
             break;
         case Auth::ENCRYPT_BCRYPT:
             $crypt = new Crypt\Bcrypt();
             $crypt->setSalt($salt);
             // Set cost and prefix, if applicable
             if (!empty($options['cost'])) {
                 $crypt->setCost($options['cost']);
             }
             if (!empty($options['prefix'])) {
                 $crypt->setPrefix($options['prefix']);
             }
             $encValue = $crypt->create($value);
             break;
         case Auth::ENCRYPT_CRYPT:
             $crypt = new Crypt\Crypt();
             $crypt->setSalt($salt);
             $encValue = $crypt->create($value);
             break;
         case Auth::ENCRYPT_SHA1:
             $encValue = sha1($value);
             break;
         case Auth::ENCRYPT_MD5:
             $encValue = md5($value);
             break;
         case Auth::ENCRYPT_NONE:
             $encValue = $value;
             break;
     }
     return $encValue;
 }
Exemplo n.º 3
0
<?php

require_once '../../bootstrap.php';
use Pop\Crypt;
try {
    $mc = new Crypt\Mcrypt();
    $hash = $mc->create('12password34');
    echo 'Hash: ' . $hash . '<br/ >';
    echo 'Salt: ' . $mc->getSalt() . '<br />';
    echo 'Decrypted: ' . $mc->decrypt($hash) . '<br />';
    if ($mc->verify('12password34', $hash)) {
        echo 'Verified!<br />';
    } else {
        echo 'NOT Verified!<br />';
    }
} catch (\Exception $e) {
    echo $e->getMessage();
}