本文整理汇总了PHP中RandomLib\Factory类的典型用法代码示例。如果您正苦于以下问题:PHP Factory类的具体用法?PHP Factory怎么用?PHP Factory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Factory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveTokenAction
/**
* @param Request $request
*
* @return \Symfony\Component\HttpFoundation\JsonResponse
*/
public function saveTokenAction(Request $request)
{
$apiToken = new ApiToken();
$apiToken->setUser($this->getUser());
$formBuilder = $this->createFormBuilder($apiToken, array('action' => $this->generateUrl('api_key_create'), 'data_class' => 'CSBill\\UserBundle\\Entity\\ApiToken'));
$formBuilder->add('name');
$form = $formBuilder->getForm();
$form->handleRequest($request);
$response = array();
if ($form->isValid()) {
$factory = new Factory();
$generator = $factory->getMediumStrengthGenerator();
$token = $generator->generateString(64, Generator::CHAR_ALNUM);
$apiToken->setToken($token);
$this->save($apiToken);
$response['status'] = 0;
$response['token'] = array('token' => $apiToken->getToken(), 'name' => $apiToken->getName(), 'id' => $apiToken->getId());
return $this->json($response);
} else {
$response['status'] = 1;
}
$content = $this->renderView('CSBillUserBundle:Api:create.html.twig', array('form' => $form->createView()));
$response['content'] = $content;
return $this->json($response);
}
示例2: register
public function register(Application $app)
{
$app['randomgenerator'] = $app->share(function () {
$factory = new RandomLib\Factory();
return $factory->getGenerator(new Strength(Strength::MEDIUM));
});
}
示例3: generateKey
/**
* Create a medium strength key
*
* Generates a medium strength random number of size $bytes and hash with the
* algorithm specified in $hash.
*
* @param string $hash hash function to use
* @param integer $bytes the number of random bytes to generate
*
* @return string hashed token
*/
public static function generateKey($hash = 'sha512', $bytes = 128)
{
$factory = new Factory();
$generator = $factory->getMediumStrengthGenerator();
$token = hash($hash, $generator->generate($bytes));
return $token;
}
示例4: createCode
/**
* @return string
*/
public function createCode()
{
$factory = new RandomLibFactory();
$generator = $factory->getLowStrengthGenerator();
$randomString = $generator->generateString($this->confirmationCodeLength, $this->confirmationCodeCharacters);
return $randomString;
}
示例5: migrateSettingsFile
public static function migrateSettingsFile(Event $event = null)
{
if ($event !== null) {
$event->getIO()->write("Migrating old setting file...");
}
if ($event) {
$root_dir = realpath('');
} else {
$root_dir = realpath('../../');
}
if (file_exists($root_dir . '/app/config/parameters.yml')) {
return false;
}
if (file_exists($root_dir . '/' . self::SETTINGS_FILE)) {
$tmp_settings = file_get_contents($root_dir . '/' . self::SETTINGS_FILE);
if (strpos($tmp_settings, '_DB_SERVER_') !== false) {
$tmp_settings = preg_replace('/(\'|")\\_/', '$1_LEGACY_', $tmp_settings);
file_put_contents($root_dir . '/' . self::SETTINGS_FILE, $tmp_settings);
include $root_dir . '/' . self::SETTINGS_FILE;
$factory = new RandomLib\Factory();
$generator = $factory->getLowStrengthGenerator();
$secret = $generator->generateString(56);
$default_parameters = Yaml::parse($root_dir . '/app/config/parameters.yml.dist');
$parameters = array('parameters' => array('database_host' => _LEGACY_DB_SERVER_, 'database_port' => '~', 'database_user' => _LEGACY_DB_USER_, 'database_password' => _LEGACY_DB_PASSWD_, 'database_name' => _LEGACY_DB_NAME_, 'database_prefix' => _LEGACY_DB_PREFIX_, 'database_engine' => _LEGACY_MYSQL_ENGINE_, 'cookie_key' => _LEGACY_COOKIE_KEY_, 'cookie_iv' => _LEGACY_COOKIE_IV_, 'ps_caching' => _LEGACY_PS_CACHING_SYSTEM_, 'ps_cache_enable' => _LEGACY_PS_CACHE_ENABLED_, 'ps_creation_date' => _LEGACY_PS_CREATION_DATE_, 'secret' => $secret, 'mailer_transport' => 'smtp', 'mailer_host' => '127.0.0.1', 'mailer_user' => '~', 'mailer_password' => '~') + $default_parameters['parameters']);
if (file_put_contents($root_dir . '/app/config/parameters.yml', Yaml::dump($parameters))) {
$settings_content = "<?php\n";
$settings_content .= "//@deprecated 1.7";
file_put_contents($root_dir . '/' . self::SETTINGS_FILE, $settings_content);
}
}
}
if ($event !== null) {
$event->getIO()->write("Finished...");
}
}
示例6: __construct
/**
* TokenStore constructor.
*
* @see TokenStore::$MAX_TOKENS the class property storing the maximum
* tokens limit.
*
* @param int|null $maxTokens An optional limit to the number of valid
* tokens the TokenStore will retain.
* If not specified, an unlimited number of
* tokens will be retained (which is probably
* fine unless you have a very, very busy site
* with long-running sessions).
*/
public function __construct(int $maxTokens = null)
{
if ($maxTokens !== null) {
self::$MAX_TOKENS = $maxTokens;
}
$factory = new Factory();
$this->tokenGenerator = $factory->getGenerator(new Strength(self::$strength));
}
示例7: generateString
/**
* Generate a medium-strength random string of the given length.
*
* @param int $length length of the generated string
* @param string $characters characters to use to generate the string
* @return string
*/
public function generateString($length, $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
if (is_null($this->_factory)) {
$this->_factory = new \RandomLib\Factory();
$this->_generator = $this->_factory->getMediumStrengthGenerator();
}
return $this->_generator->generateString($length, $characters);
}
示例8: let
function let(Factory $factory, Generator $low, Generator $medium)
{
$factory->getMediumStrengthGenerator()->willReturn($medium);
$factory->getLowStrengthGenerator()->willReturn($low);
$this->beConstructedWith($factory);
$defaults = ['length' => 32, 'chars' => '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 'strength' => 'medium'];
$this->setOptions($defaults);
}
示例9: __construct
public function __construct(Generator $generator = null)
{
$this->generator = $generator;
if ($this->generator == null) {
$factory = new Factory();
$this->generator = $factory->getMediumStrengthGenerator();
}
}
示例10: testGetSetKeyGenerator
public function testGetSetKeyGenerator()
{
$this->assertInstanceOf('QueryAuth\\KeyGenerator', $this->requestSigner->getKeyGenerator());
$randomFactory = new RandomFactory();
$keyGenerator = new KeyGenerator($randomFactory->getMediumStrengthGenerator());
$this->requestSigner->setKeyGenerator($keyGenerator);
$this->assertSame($keyGenerator, $this->requestSigner->getKeyGenerator());
}
示例11: generateSalt
/**
* Generates salt.
*
* @param integer $length
*
* @return string
*/
public function generateSalt($length = 64)
{
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$chars .= '!@#$%^&*()';
$chars .= '-_ []{}<>~`+=,.;:/?|';
$factory = new Factory();
$generator = $factory->getGenerator(new Strength(Strength::MEDIUM));
return $generator->generateString($length, $chars);
}
示例12: generateLink
public static function generateLink($event)
{
$model = $event->getModel();
if (!$model->link) {
$factory = new Factory();
$generator = $factory->getMediumStrengthGenerator();
$model->link = $generator->generateString(32, Generator::CHAR_ALNUM);
}
}
示例13: getAlternativeGenerator
public function getAlternativeGenerator()
{
if (isset($this->generator)) {
return $this->generator;
}
$factory = new RandomLib\Factory();
$this->generator = $factory->getMediumStrengthGenerator();
return $this->generator;
}
示例14: getAlternativeGenerator
public function getAlternativeGenerator()
{
if (isset($this->generator)) {
return $this->generator;
}
$factory = new RandomLib\Factory();
$factory->registerSource('HashTiming', '\\SecurityMultiTool\\Random\\Source\\HashTiming');
$this->generator = $factory->getMediumStrengthGenerator();
return $this->generator;
}
示例15: testGetMediumStrengthGenerator
/**
* @covers RandomLib\Factory::getMediumStrengthGenerator
* @covers RandomLib\Factory::getGenerator
* @covers RandomLib\Factory::findMixer
* @covers RandomLib\Factory::findSources
*/
public function testGetMediumStrengthGenerator()
{
$factory = new Factory();
$generator = $factory->getMediumStrengthGenerator();
$this->assertTrue($generator instanceof Generator);
$mixer = call_user_func(array(get_class($generator->getMixer()), 'getStrength'));
$this->assertTrue($mixer->compare(new Strength(Strength::MEDIUM)) <= 0);
foreach ($generator->getSources() as $source) {
$strength = call_user_func(array(get_class($source), 'getStrength'));
$this->assertTrue($strength->compare(new Strength(Strength::MEDIUM)) >= 0);
}
}