You are here

protected function Schema::hashBase64 in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php \Drupal\Core\Database\Driver\pgsql\Schema::hashBase64()

Calculates a base-64 encoded, PostgreSQL-safe sha-256 hash per PostgreSQL documentation: 4.1. Lexical Structure.

Parameters

$data: String to be hashed.

Return value

string A base-64 encoded sha-256 hash, with + and / replaced with _ and any = padding characters removed.

1 call to Schema::hashBase64()
Schema::ensureIdentifiersLength in core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
Make sure to limit identifiers according to PostgreSQL compiled in length.

File

core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php, line 1084

Class

Schema
PostgreSQL implementation of \Drupal\Core\Database\Schema.

Namespace

Drupal\Core\Database\Driver\pgsql

Code

protected function hashBase64($data) {
  $hash = base64_encode(hash('sha256', $data, TRUE));

  // Modify the hash so it's safe to use in PostgreSQL identifiers.
  return strtr($hash, [
    '+' => '_',
    '/' => '_',
    '=' => '',
  ]);
}