class SystemStatusEncryption in System Status 8.2
Encryption logic for system_status.
Hierarchy
- class \Drupal\system_status\Services\SystemStatusEncryption
Expanded class hierarchy of SystemStatusEncryption
1 file declares its use of SystemStatusEncryption
- SystemStatusController.php in src/
Controller/ SystemStatusController.php
1 string reference to 'SystemStatusEncryption'
1 service uses SystemStatusEncryption
File
- src/
Services/ SystemStatusEncryption.php, line 8
Namespace
Drupal\system_status\ServicesView source
class SystemStatusEncryption {
/**
* System Status: create a new token.
*/
public static function getToken() {
$chars = array_merge(range(0, 9), range('a', 'z'), range('A', 'Z'), range(0, 99));
shuffle($chars);
$token = "";
for ($i = 0; $i < 8; $i++) {
$token .= $chars[$i];
}
return $token;
}
/**
* System Status: encrypt a plaintext message using mcrypt.
*/
public static function encryptMcrypt($plaintext) {
$encrypt_token = \Drupal::config('system_status.settings')
->get('system_status_encrypt_token');
$key = hash("SHA256", $encrypt_token, TRUE);
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$plaintext_utf8 = utf8_encode($plaintext);
$ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext_utf8, MCRYPT_MODE_CBC, $iv);
$ciphertext = $iv . $ciphertext;
return base64_encode($ciphertext);
}
/**
* System Status: encrypt a plaintext message using openssl.
*/
public static function encryptOpenssl($plaintext) {
$encrypt_token = \Drupal::config('system_status.settings')
->get('system_status_encrypt_token');
$key = hash("SHA256", $encrypt_token, TRUE);
$plaintext_utf8 = utf8_encode($plaintext);
$iv = openssl_random_pseudo_bytes(16);
$cyphertext = openssl_encrypt($plaintext_utf8, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($iv . $cyphertext);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
SystemStatusEncryption:: |
public static | function | System Status: encrypt a plaintext message using mcrypt. | |
SystemStatusEncryption:: |
public static | function | System Status: encrypt a plaintext message using openssl. | |
SystemStatusEncryption:: |
public static | function | System Status: create a new token. |