Elgg  Version 1.10
SiteSecret.php
Go to the documentation of this file.
1 <?php
2 namespace Elgg\Database;
3 
13 class SiteSecret {
24  function init() {
25  $secret = 'z' . _elgg_services()->crypto->getRandomString(31);
26 
27  if (_elgg_services()->datalist->set('__site_secret__', $secret)) {
28  return $secret;
29  }
30 
31  return false;
32  }
33 
42  function get() {
43  $secret = _elgg_services()->datalist->get('__site_secret__');
44  if (!$secret) {
45  $secret = init_site_secret();
46  }
47 
48  return $secret;
49  }
50 
57  function getStrength() {
58  $secret = get_site_secret();
59  if ($secret[0] !== 'z') {
60  $rand_max = getrandmax();
61  if ($rand_max < pow(2, 16)) {
62  return 'weak';
63  }
64  if ($rand_max < pow(2, 32)) {
65  return 'moderate';
66  }
67  }
68  return 'strong';
69  }
70 
71 }
init()
Initialise the site secret (32 bytes: "z" to indicate format + 186-bit key in Base64 URL)...
Definition: SiteSecret.php:24
if(!$autoload_available) _elgg_services()
Definition: autoloader.php:20
init_site_secret()
Initialise the site secret (32 bytes: "z" to indicate format + 186-bit key in Base64 URL)...
Definition: actions.php:171
getStrength()
Get the strength of the site secret.
Definition: SiteSecret.php:57
get_site_secret()
Returns the site secret.
Definition: actions.php:184