You are here

function _ldap_servers_encrypt in Lightweight Directory Access Protocol (LDAP) 7.2

Same name and namespace in other branches
  1. 8.2 ldap_servers/ldap_servers.encryption.inc \_ldap_servers_encrypt()
  2. 7 ldap_servers/ldap_servers.encryption.inc \_ldap_servers_encrypt()

Encrypt string.

Parameters

$input: Clear text.

null $encryption_enabled: OpenSSL or clear text.

Return value

string Plain or encrypted.

1 call to _ldap_servers_encrypt()
ldap_servers_encrypt in ldap_servers/ldap_servers.module

File

ldap_servers/ldap_servers.encryption.inc, line 58
Provides functions for encryption/decryption.

Code

function _ldap_servers_encrypt($input, $encryption_enabled = NULL) {
  if (!$encryption_enabled) {
    $encryption_enabled = variable_get('ldap_servers_encryption', LDAP_SERVERS_ENC_TYPE_CLEARTEXT);
  }
  if ($encryption_enabled == LDAP_SERVERS_ENC_TYPE_CLEARTEXT) {
    return $input;
  }
  $key = variable_get('ldap_servers_encrypt_key', drupal_get_hash_salt());
  $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length(LDAP_SERVERS_CYPHER_MODE));
  $encrypted_data = openssl_encrypt($input, LDAP_SERVERS_CYPHER_MODE, $key, 0, $iv);
  return base64_encode($encrypted_data . '::' . $iv);
}