當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Crypto::getInstance方法代碼示例

本文整理匯總了PHP中Crypto::getInstance方法的典型用法代碼示例。如果您正苦於以下問題:PHP Crypto::getInstance方法的具體用法?PHP Crypto::getInstance怎麽用?PHP Crypto::getInstance使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Crypto的用法示例。


在下文中一共展示了Crypto::getInstance方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: __construct

 protected function __construct()
 {
     $encrypt = \Config::getConfig()->get('encrypt', FALSE);
     if ($encrypt) {
         $this->crypto = Crypto::getInstance();
     }
     $config = \Config::factory(\Config::getConfig()->get('cookie', array()), FALSE, 'cookie');
     $this->expire = $config->get('expire', 0);
     $this->path = $config->get('path', '/');
     $this->domain = $config->get('domain', '');
     $this->secure = $config->get('secure', FALSE);
     $this->httponly = $config->get('httponly', FALSE);
 }
開發者ID:hayate,項目名稱:unophp,代碼行數:13,代碼來源:Cookie.php

示例2: setSessionHandler

 protected function setSessionHandler()
 {
     $encrypt = \Config::getConfig()->get('encrypt', FALSE);
     $db = \Database::getInstance();
     $crypto = NULL;
     if ($encrypt) {
         $crypto = Crypto::getInstance();
     }
     session_set_save_handler(function ($path, $name) {
         return TRUE;
     }, function () {
         return TRUE;
     }, function ($id) use($db, $encrypt, $crypto) {
         $stm = $db->prepare('SELECT data FROM sessions WHERE id=? LIMIT 1');
         $stm->bindValue(1, $id, \PDO::PARAM_STR);
         if (!$stm->execute()) {
             $err = $stm->errorInfo();
             Log::error($err[2]);
             return FALSE;
         }
         $ret = $stm->fetch(\PDO::FETCH_ASSOC);
         if (FALSE !== $ret) {
             return $encrypt ? $crypto->decrypt($ret['data']) : $ret['data'];
         }
         return '';
     }, function ($id, $data) use($db, $encrypt, $crypto) {
         $stm = $db->prepare('SELECT COUNT(id) as count FROM sessions WHERE id=?');
         $stm->bindValue(1, $id, \PDO::PARAM_STR);
         if (!$stm->execute()) {
             $err = $stm->errorInfo();
             Log::error($err[2]);
             return FALSE;
         }
         $ret = $stm->fetch(\PDO::FETCH_ASSOC);
         $query = 'INSERT INTO sessions (data,expiry,id) VALUES(?,?,?)';
         if ($ret['count'] > 0) {
             $query = 'UPDATE sessions SET data=?, expiry=? WHERE id=?';
         }
         $data = $encrypt ? $crypto->encrypt($data) : $data;
         $stm = $db->prepare($query);
         $stm->bindValue(1, $data, \PDO::PARAM_STR);
         $stm->bindValue(2, intval(gmdate('U')), \PDO::PARAM_INT);
         $stm->bindValue(3, $id, \PDO::PARAM_STR);
         if (!$stm->execute()) {
             $err = $stm->errorInfo();
             Log::error($err[2]);
             return FALSE;
         }
         return TRUE;
     }, function ($id) use($db) {
         $stm = $db->prepare('DELETE FROM session WHERE id=?');
         $stm->bindValue(1, $id, \PDO::PARAM_STR);
         if (!$stm->execute()) {
             Log::error($stm->errorInfo());
             return FALSE;
         }
         return TRUE;
     }, function ($maxtime) use($db) {
         $stm = $db->prepare('DELETE FROM session where expiry < ?');
         $stm->bindValue(1, intval(gmdate('U') - $maxtime), \PDO::PARAM_INT);
         if (!$stm->execute()) {
             Log::error($stm->errorInfo());
             return FALSE;
         }
         return TRUE;
     });
 }
開發者ID:hayate,項目名稱:unophp,代碼行數:67,代碼來源:Session.php


注:本文中的Crypto::getInstance方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。