Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Schema.php

function Schema::hashBase64

Calculates a base-64 encoded PostgreSQL-safe sha-256 hash.

The hash is modified to according to @link https://www.postgresql.org/docs/current/sql-syntax-lexical.html PostgreSQL Lexical Structure@endlink.

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 1074

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, [
        '+' => '_',
        '/' => '_',
        '=' => '',
    ]);
}
RSS feed
Powered by Drupal