forked from sebsauvage/ZeroBin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
serversalt.php
36 lines (31 loc) · 1017 Bytes
/
serversalt.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
// Generate a large random hexadecimal salt.
function generateRandomSalt()
{
$randomSalt='';
if (function_exists("mcrypt_create_iv"))
{
$randomSalt = bin2hex(mcrypt_create_iv(256, MCRYPT_DEV_URANDOM));
}
else // fallback to mt_rand()
{
for($i=0;$i<16;$i++) { $randomSalt.=base_convert(mt_rand(),10,16); }
}
return $randomSalt;
}
/* Return this ZeroBin server salt.
This is a random string which is unique to each ZeroBin installation.
It is automatically created if not present.
Salt is used:
- to generate unique VizHash in discussions (which are not reproductible across ZeroBin servers)
- to generate unique deletion token (which are not re-usable across ZeroBin servers)
*/
function getServerSalt()
{
$saltfile = 'data/salt.php';
if (!is_file($saltfile))
file_put_contents($saltfile,'<?php /* |'.generateRandomSalt().'| */ ?>',LOCK_EX);
$items=explode('|',file_get_contents($saltfile));
return $items[1];
}
?>