PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.18.1
Independent Analytics – WordPress Analytics Plugin v1.18.1
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / utils / salt.php
independent-analytics / IAWP / utils Last commit date
array_to_csv.php 3 years ago date_format.php 3 years ago exact_range.php 3 years ago number_formatter.php 3 years ago relative_range.php 3 years ago request.php 3 years ago salt.php 3 years ago security.php 3 years ago singleton.php 3 years ago string.php 3 years ago timezone.php 3 years ago url.php 3 years ago wp-async-request.php 3 years ago
salt.php
52 lines
1 <?php
2
3 namespace IAWP;
4
5 class Salt
6 {
7 /*
8 * Used for salting visitor hashes.
9 */
10 public static function visitor_token_salt(): string
11 {
12 return self::get_salt_option('iawp_salt');
13 }
14
15 /*
16 * Primarily used for salting request payloads.
17 */
18 public static function request_payload_salt(): string
19 {
20 return self::get_salt_option('iawp_request_payload_salt');
21 }
22
23 private static function get_salt_option($name): string
24 {
25 $salt = get_option($name);
26
27 if ($salt == false) {
28 $salt = self::generate_salt();
29 update_option($name, $salt);
30 }
31
32 return $salt;
33 }
34
35 private static function generate_salt(): string
36 {
37 $length = 32;
38
39 if (function_exists('random_bytes')) {
40 $bytes = bin2hex(random_bytes($length));
41 }
42 if (function_exists('mcrypt_create_iv')) {
43 $bytes = bin2hex(mcrypt_create_iv($length, MCRYPT_DEV_URANDOM));
44 }
45 if (function_exists('openssl_random_pseudo_bytes')) {
46 $bytes = bin2hex(openssl_random_pseudo_bytes($length));
47 }
48
49 return substr(strtr(base64_encode(hex2bin($bytes)), '+', '.'), 0, 44);
50 }
51 }
52