| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- <?php namespace Laravel;
 
- class Hash {
 
- 	/**
 
- 	 * Hash a password using the Bcrypt hashing scheme.
 
- 	 *
 
- 	 * <code>
 
- 	 *		// Create a Bcrypt hash of a value
 
- 	 *		$hash = Hash::make('secret');
 
- 	 *
 
- 	 *		// Use a specified number of iterations when creating the hash
 
- 	 *		$hash = Hash::make('secret', 12);
 
- 	 * </code>
 
- 	 *
 
- 	 * @param  string  $value
 
- 	 * @param  int     $rounds
 
- 	 * @return string
 
- 	 */
 
- 	public static function make($value, $rounds = 8)
 
- 	{
 
- 		$work = str_pad($rounds, 2, '0', STR_PAD_LEFT);
 
- 		// Bcrypt expects the salt to be 22 base64 encoded characters including
 
- 		// dots and slashes. We will get rid of the plus signs included in the
 
- 		// base64 data and replace them with dots.
 
- 		if (function_exists('openssl_random_pseudo_bytes'))
 
- 		{
 
- 			$salt = openssl_random_pseudo_bytes(16);
 
- 		}
 
- 		else
 
- 		{
 
- 			$salt = Str::random(40);
 
- 		}
 
- 		$salt = substr(strtr(base64_encode($salt), '+', '.'), 0 , 22);
 
- 		return crypt($value, '$2a$'.$work.'$'.$salt);
 
- 	}
 
- 	/**
 
- 	 * Determine if an unhashed value matches a Bcrypt hash.
 
- 	 *
 
- 	 * @param  string  $value
 
- 	 * @param  string  $hash
 
- 	 * @return bool
 
- 	 */
 
- 	public static function check($value, $hash)
 
- 	{
 
- 		return crypt($value, $hash) === $hash;
 
- 	}
 
- }
 
 
  |