当前位置: 首页>>代码示例>>PHP>>正文


PHP Security::randomBytes方法代码示例

本文整理汇总了PHP中Cake\Utility\Security::randomBytes方法的典型用法代码示例。如果您正苦于以下问题:PHP Security::randomBytes方法的具体用法?PHP Security::randomBytes怎么用?PHP Security::randomBytes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cake\Utility\Security的用法示例。


在下文中一共展示了Security::randomBytes方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: boundary

 /**
  * Get the boundary marker
  *
  * @return string
  */
 public function boundary()
 {
     if ($this->_boundary) {
         return $this->_boundary;
     }
     $this->_boundary = md5(Security::randomBytes(16));
     return $this->_boundary;
 }
开发者ID:tgr0ss,项目名称:cakephp,代码行数:13,代码来源:FormData.php

示例2: setSecuritySalt

 /**
  * Set the security.salt value in the application's config file.
  *
  * @param string $dir The application's root directory.
  * @param \Composer\IO\IOInterface $io IO interface to write to console.
  * @return void
  */
 public static function setSecuritySalt($dir, $io)
 {
     $config = $dir . '/config/app.php';
     $content = file_get_contents($config);
     $newKey = hash('sha256', Security::randomBytes(64));
     $content = str_replace('__SALT__', $newKey, $content, $count);
     if ($count == 0) {
         $io->write('No Security.salt placeholder to replace.');
         return;
     }
     $result = file_put_contents($config, $content);
     if ($result) {
         $io->write('Updated Security.salt value in config/app.php');
         return;
     }
     $io->write('Unable to update Security.salt value.');
 }
开发者ID:scherersoftware,项目名称:cakephp-app-template,代码行数:24,代码来源:Installer.php

示例3: _setCookie

 /**
  * Set the cookie in the response.
  *
  * Also sets the request->params['_csrfToken'] so the newly minted
  * token is available in the request data.
  *
  * @param \Cake\Network\Request $request The request object.
  * @param \Cake\Network\Response $response The response object.
  * @return void
  */
 protected function _setCookie(Request $request, Response $response)
 {
     $expiry = new Time($this->_config['expiry']);
     $value = hash('sha512', Security::randomBytes(16), false);
     $request->params['_csrfToken'] = $value;
     $response->cookie(['name' => $this->_config['cookieName'], 'value' => $value, 'expire' => $expiry->format('U'), 'path' => $request->webroot, 'secure' => $this->_config['secure'], 'httpOnly' => $this->_config['httpOnly']]);
 }
开发者ID:rlugojr,项目名称:cakephp,代码行数:17,代码来源:CsrfComponent.php

示例4: _rsaSha1

 /**
  * Use RSA-SHA1 signing.
  *
  * This method is suitable for plain HTTP or HTTPS.
  *
  * @param \Cake\Http\Client\Request $request The request object.
  * @param array $credentials Authentication credentials.
  * @return string
  *
  * @throws \RuntimeException
  */
 protected function _rsaSha1($request, $credentials)
 {
     if (!function_exists('openssl_pkey_get_private')) {
         throw new RuntimeException('RSA-SHA1 signature method requires the OpenSSL extension.');
     }
     $nonce = isset($credentials['nonce']) ? $credentials['nonce'] : bin2hex(Security::randomBytes(16));
     $timestamp = isset($credentials['timestamp']) ? $credentials['timestamp'] : time();
     $values = ['oauth_version' => '1.0', 'oauth_nonce' => $nonce, 'oauth_timestamp' => $timestamp, 'oauth_signature_method' => 'RSA-SHA1', 'oauth_consumer_key' => $credentials['consumerKey']];
     if (isset($credentials['consumerSecret'])) {
         $values['oauth_consumer_secret'] = $credentials['consumerSecret'];
     }
     if (isset($credentials['token'])) {
         $values['oauth_token'] = $credentials['token'];
     }
     if (isset($credentials['tokenSecret'])) {
         $values['oauth_token_secret'] = $credentials['tokenSecret'];
     }
     $baseString = $this->baseString($request, $values);
     if (isset($credentials['realm'])) {
         $values['oauth_realm'] = $credentials['realm'];
     }
     if (is_resource($credentials['privateKey'])) {
         $resource = $credentials['privateKey'];
         $privateKey = stream_get_contents($resource);
         rewind($resource);
         $credentials['privateKey'] = $privateKey;
     }
     $credentials += ['privateKeyPassphrase' => null];
     if (is_resource($credentials['privateKeyPassphrase'])) {
         $resource = $credentials['privateKeyPassphrase'];
         $passphrase = stream_get_line($resource, 0, PHP_EOL);
         rewind($resource);
         $credentials['privateKeyPassphrase'] = $passphrase;
     }
     $privateKey = openssl_pkey_get_private($credentials['privateKey'], $credentials['privateKeyPassphrase']);
     $signature = '';
     openssl_sign($baseString, $signature, $privateKey);
     openssl_free_key($privateKey);
     $values['oauth_signature'] = base64_encode($signature);
     return $this->_buildAuth($values);
 }
开发者ID:nrother,项目名称:cakephp,代码行数:52,代码来源:Oauth.php

示例5: _createBoundary

 /**
  * Create unique boundary identifier
  *
  * @return void
  */
 protected function _createBoundary()
 {
     if (!empty($this->_attachments) || $this->_emailFormat === 'both') {
         $this->_boundary = md5(Security::randomBytes(16));
     }
 }
开发者ID:nrother,项目名称:cakephp,代码行数:11,代码来源:Email.php

示例6: testRandomBytes

 /**
  * Test the randomBytes method.
  *
  * @return void
  */
 public function testRandomBytes()
 {
     $value = Security::randomBytes(16);
     $this->assertSame(16, strlen($value));
     $value = Security::randomBytes(64);
     $this->assertSame(64, strlen($value));
     $this->assertRegExp('/[^0-9a-f]/', $value, 'should return a binary string');
 }
开发者ID:rashmi,项目名称:newrepo,代码行数:13,代码来源:SecurityTest.php

示例7: generateVerificationContent

 public function generateVerificationContent()
 {
     $this->verification_content = hash('sha512', Security::randomBytes(16), false);
 }
开发者ID:benscobie,项目名称:webaudit-website,代码行数:4,代码来源:Website.php

示例8: setSecuritySalt

 /**
  * Set the security.salt value in the application's config file.
  *
  * @param string $dir The application's root directory.
  * @param \Composer\IO\IOInterface $io IO interface to write to console.
  * @return void
  */
 public static function setSecuritySalt($dir, $io)
 {
     $newKey = hash('sha256', Security::randomBytes(64));
     static::setSecuritySaltInFile($dir, $io, $newKey, 'app.php');
     static::setSecuritySaltInFile($dir, $io, $newKey, '.env.default');
 }
开发者ID:josegonzalez,项目名称:app,代码行数:13,代码来源:Installer.php


注:本文中的Cake\Utility\Security::randomBytes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。