Overview

Namespaces

  • Genetsis
    • core
      • activityid
      • user
  • None

Classes

  • Genetsis\ActivityApi
  • Genetsis\AutoloaderClass
  • Genetsis\Config
  • Genetsis\core\AccessToken
  • Genetsis\core\activityid\Address
  • Genetsis\core\activityid\ContextType
  • Genetsis\core\activityid\Device
  • Genetsis\core\activityid\Location
  • Genetsis\core\activityid\ObjectType
  • Genetsis\core\activityid\Position
  • Genetsis\core\activityid\QualityType
  • Genetsis\core\activityid\Request
  • Genetsis\core\activityid\Response
  • Genetsis\core\activityid\SocialNetwork
  • Genetsis\core\activityid\Verbs
  • Genetsis\core\ClientToken
  • Genetsis\core\Encryption
  • Genetsis\core\FileCache
  • Genetsis\core\LogConfig
  • Genetsis\core\LoginStatus
  • Genetsis\core\LoginStatusType
  • Genetsis\core\OAuth
  • Genetsis\core\OAuthConfig
  • Genetsis\core\OauthTemplate
  • Genetsis\core\RefreshToken
  • Genetsis\core\Request
  • Genetsis\core\StoredToken
  • Genetsis\core\Things
  • Genetsis\core\User
  • Genetsis\core\user\Brand
  • Genetsis\core\user\QueryUserData
  • Genetsis\Identity
  • Genetsis\URLBuilder
  • Genetsis\UserApi
  • Logger
  • LoggerAppender
  • LoggerAppenderConsole
  • LoggerAppenderDailyFile
  • LoggerAppenderDailyRollingFile
  • LoggerAppenderEcho
  • LoggerAppenderFile
  • LoggerAppenderFirePHP
  • LoggerAppenderMail
  • LoggerAppenderMailEvent
  • LoggerAppenderMongoDB
  • LoggerAppenderNull
  • LoggerAppenderPDO
  • LoggerAppenderPhp
  • LoggerAppenderPool
  • LoggerAppenderRollingFile
  • LoggerAppenderSocket
  • LoggerAppenderSyslog
  • LoggerAutoloader
  • LoggerConfigurable
  • LoggerConfigurationAdapterINI
  • LoggerConfigurationAdapterPHP
  • LoggerConfigurationAdapterXML
  • LoggerConfiguratorDefault
  • LoggerFilter
  • LoggerFilterDenyAll
  • LoggerFilterLevelMatch
  • LoggerFilterLevelRange
  • LoggerFilterStringMatch
  • LoggerFormattingInfo
  • LoggerHierarchy
  • LoggerLayout
  • LoggerLayoutHtml
  • LoggerLayoutPattern
  • LoggerLayoutSerialized
  • LoggerLayoutSimple
  • LoggerLayoutTTCC
  • LoggerLayoutXml
  • LoggerLevel
  • LoggerLocationInfo
  • LoggerLoggingEvent
  • LoggerMDC
  • LoggerNDC
  • LoggerOptionConverter
  • LoggerPatternConverter
  • LoggerPatternConverterClass
  • LoggerPatternConverterCookie
  • LoggerPatternConverterDate
  • LoggerPatternConverterEnvironment
  • LoggerPatternConverterFile
  • LoggerPatternConverterLevel
  • LoggerPatternConverterLine
  • LoggerPatternConverterLiteral
  • LoggerPatternConverterLocation
  • LoggerPatternConverterLogger
  • LoggerPatternConverterMDC
  • LoggerPatternConverterMessage
  • LoggerPatternConverterMethod
  • LoggerPatternConverterNDC
  • LoggerPatternConverterNewLine
  • LoggerPatternConverterProcess
  • LoggerPatternConverterRelative
  • LoggerPatternConverterRequest
  • LoggerPatternConverterServer
  • LoggerPatternConverterSession
  • LoggerPatternConverterSessionID
  • LoggerPatternConverterSuperglobal
  • LoggerPatternConverterThrowable
  • LoggerPatternParser
  • LoggerReflectionUtils
  • LoggerRendererDefault
  • LoggerRendererException
  • LoggerRendererMap
  • LoggerRoot
  • LoggerThrowableInformation
  • LoggerUtils

Interfaces

  • Genetsis\core\iTokenTypes
  • LoggerConfigurationAdapter
  • LoggerConfigurator
  • LoggerRenderer

Exceptions

  • Genetsis\core\InvalidGrantException
  • LoggerException
  • Overview
  • Namespace
  • Class
 1: <?php
 2: 
 3: namespace Genetsis\core;
 4: 
 5: /**
 6:  * This class is used to wrap encryption functions.
 7:  *
 8:  * @package   Genetsis
 9:  * @category  Helper
10:  * @version   1.0
11:  * @access    private
12:  */
13: class Encryption
14: {
15:     /** @var string The secret key to encrypt data. */
16:     private $_skey = "yourSecretKey";
17: 
18:     /**
19:      * @param string The secret key to encrypt data.
20:      */
21:     public function __construct($client_secret)
22:     {
23:         $this->_skey = str_pad(trim((string)$client_secret), 32, '\0');
24:     }
25: 
26:     /**
27:      * Encodes a string using a secret key.
28:      *
29:      * @param string The string to be encoded.
30:      * @return mixed The string encoded or FALSE.
31:      */
32:     public function encode($value)
33:     {
34:         if (!$value) {
35:             return false;
36:         }
37:         $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
38:         $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
39:         $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->_skey, $value, MCRYPT_MODE_ECB, $iv);
40:         return trim($this->safe_b64encode($crypttext));
41:     }
42: 
43:     /**
44:      * Encodes a string using base64.
45:      *
46:      * @param $string The string to be encoded.
47:      * @return mixed The encoded string.
48:      */
49:     public function safe_b64encode($string)
50:     {
51:         return str_replace(array('+', '/', '='), array('-', '_', ''), base64_encode($string));
52:     }
53: 
54:     /**
55:      * Decodes a string using a secret key.
56:      *
57:      * @param string The string to be decoded.
58:      * @return mixed The string decoded or FALSE.
59:      */
60:     public function decode($value)
61:     {
62:         if (!$value) {
63:             return false;
64:         }
65:         $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
66:         $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
67:         $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->_skey, $this->safe_b64decode($value), MCRYPT_MODE_ECB, $iv);
68:         return trim($decrypttext);
69:     }
70: 
71:     /**
72:      * Decodes base64 encoded string.
73:      *
74:      * @param $string The string to be decoded.
75:      * @return The string decoded.
76:      */
77:     public function safe_b64decode($string)
78:     {
79:         $data = str_replace(array('-', '_'), array('+', '/'), $string);
80:         $mod4 = (strlen($data) % 4);
81:         if ($mod4) {
82:             $data .= substr('====', $mod4);
83:         }
84:         return base64_decode($data);
85:     }
86: }
API documentation generated by ApiGen