Streamable and for encryption added, CryptoHelper (a facade) rewritten to use streams
[core.git] / inc / classes / main / rng / class_RandomNumberGenerator.php
index 3469b615bdef03d424e4dd061b6537c3fbad8c2e..27a3672817ce027c31f3cc2203e9b1539805c7a0 100644 (file)
@@ -88,7 +88,7 @@ class RandomNumberGenerator extends BaseFrameworkSystem {
         */
        protected function initRng ($extraInstance) {
                // Get the prime number from config
-               $this->prime = $this->getConfigInstance()->readConfig('math_prime');
+               $this->prime = $this->getConfigInstance()->getConfigEntry('math_prime');
 
                // Calculate the extra number which is always the same unless you give
                // a better prime number
@@ -98,12 +98,12 @@ class RandomNumberGenerator extends BaseFrameworkSystem {
                mt_srand((double) sqrt(microtime() * 100000000 * $this->extraNumber));
 
                // Set the server IP to cluster
-               $serverIp = "cluster";
+               $serverIp = 'cluster';
 
                // Do we have a single server?
-               if ($this->getConfigInstance()->readConfig('is_single_server') == 'Y') {
+               if ($this->getConfigInstance()->getConfigEntry('is_single_server') == 'Y') {
                        // Then use that IP for extra security
-                       $serverIp = getenv('SERVER_ADDR');
+                       $serverIp = $this->getConfigInstance()->getServerAddress();
                } // END - if
 
                // Yet-another fixed salt. This is not dependend on server software or date
@@ -116,10 +116,10 @@ class RandomNumberGenerator extends BaseFrameworkSystem {
                }
 
                // One-way data we need for "extra-salting" the random number
-               $this->extraSalt = sha1($this->fixedSalt . ':' . getenv('SERVER_SOFTWARE') . ':' . $this->getConfigInstance()->readConfig('date_key') . $this->getConfigInstance()->readConfig('base_url'));
+               $this->extraSalt = sha1($this->fixedSalt . ':' . getenv('SERVER_SOFTWARE') . ':' . $this->getConfigInstance()->getConfigEntry('date_key') . $this->getConfigInstance()->getConfigEntry('base_url'));
 
                // Get config entry for max salt length
-               $this->rndStrLen = $this->getConfigInstance()->readConfig('rnd_str_length');
+               $this->rndStrLen = $this->getConfigInstance()->getConfigEntry('rnd_str_length');
        }
 
        /**
@@ -174,6 +174,24 @@ class RandomNumberGenerator extends BaseFrameworkSystem {
        public final function getFixedSalt () {
                return $this->fixedSalt;
        }
+
+       /**
+        * Generates a key based on if we have extra (default) or fixed salt enabled
+        *
+        * @return      $key    The generated key for encrypion
+        */
+       public function generateKey () {
+               // Default is extra salt
+               $key = md5($this->getExtraSalt());
+
+               // Get key
+               if ($this->getConfigInstance()->getConfigEntry('crypt_fixed_salt') == 'Y') {
+                       $key = md5($this->getFixedSalt());
+               } // END - if
+
+               // Return it
+               return $key;
+       }
 }
 
 // [EOF]