You are here

protected function Schema::hashBase64 in Drupal 10

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/modules/pgsql/src/Driver/Database/pgsql/Schema.php
Make sure to limit identifiers according to PostgreSQL compiled in length.

File

core/modules/pgsql/src/Driver/Database/pgsql/Schema.php, line 1049

Class

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

Namespace

Drupal\pgsql\Driver\Database\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, [
    '+' => '_',
    '/' => '_',
    '=' => '',
  ]);
}