Spec-Zone.ru › CakePHP 4.2

Класс Security

Библиотека безопасности содержит служебные методы, связанные с безопасностью.

Пространство имен: Cake\Utility

Краткое описание свойств

  • $_instance protected static
    object|null

    Реализация криптографического алгоритма для использования.

  • $_salt protected static
    string|null

    Соль HMAC для использования в процедурах шифрования и дешифрования.

  • $hashType public static
    string

    Метод хэширования по умолчанию. Если параметр $type для Security::hash() не указан, используется это значение. По умолчанию 'sha1'.

Краткое описание методов

  • _checkKey() protected static

    Проверка ключа шифрования на правильную длину.

  • constantEquals() public static

    Сравнение, устойчивое к атакам с использованием времени, которое отдаёт предпочтение собственным реализациям PHP.

  • decrypt() public static

    Дешифровка значения с использованием AES-256.

  • encrypt() public static

    Шифрование значения с использованием AES-256.

  • engine() public static

    Получение реализации криптографического алгоритма на основе загруженных расширений.

  • getSalt() public static

    Получение соли HMAC для использования в процедурах шифрования/дешифрования.

  • hash() public static

    Создание хэша из строки с использованием указанного метода.

  • insecureRandomBytes() public static

    Аналогично randomBytes(), но не криптографически безопасен.

  • randomBytes() public static

    Получение случайных байтов из безопасного источника.

  • randomString() public static

    Создаёт безопасную случайную строку.

  • setHash() public static

    Устанавливает метод хэширования по умолчанию для объекта Security. Это влияет на все объекты, использующие Security::hash().

  • setSalt() public static

    Устанавливает соль HMAC для использования в процедурах шифрования/дешифрования.

Подробное описание методов

_checkKey() protected static

_checkKey(string $key, string $method): void

Проверка ключа шифрования на корректную длину.

Параметры

string $key

Ключ для проверки.

string $method

Метод, для которого проверяется ключ.

Возвращает

void

Исключения

InvalidArgumentException
При неверной длине ключа (не 256 бит/32 байта)

constantEquals() public static

constantEquals(mixed $original, mixed $compare): bool

Сравнение, устойчивое к атакам по времени, которое предпочитает родные реализации PHP.

Параметры

mixed $original

Исходное значение.

mixed $compare

Значение для сравнения.

Возвращает

bool

decrypt() public static

decrypt(string $cipher, string $key, string|null $hmacSalt = null): string|null

Расшифровка значения с использованием AES-256.

Параметры

string $cipher

Зашифрованный текст для расшифровки.

string $key

Ключ длиной 256 бит/32 байта для использования в качестве ключа шифра.

string|null $hmacSalt optional

Соль для HMAC-процесса. Оставьте null, чтобы использовать значение Security::getSalt().

Возвращает

string|null

Исключения

InvalidArgumentException
При некорректных данных или ключе.

encrypt() public static

encrypt(string $plain, string $key, string|null $hmacSalt = null): string

Шифрование значения с использованием AES-256.

Примечание Нельзя правильно шифровать/расшифровывать данные с завершающими нулевыми байтами. Все завершающие нулевые байты будут удалены при расшифровке из-за того, как PHP дополняет сообщения нулями перед шифрованием.

Параметры

string $plain

Значение для шифрования.

string $key

Ключ длиной 256 бит/32 байта для использования в качестве ключа шифра.

string|null $hmacSalt optional

Соль для HMAC-процесса. Оставьте null, чтобы использовать значение Security::getSalt().

Возвращает

string

Исключения

InvalidArgumentException
При некорректных данных или ключе.

engine() public static

engine(Cake\Utility\Crypto\OpenSsl|null $instance = null): Cake\Utility\Crypto\OpenSsl

Получение реализации шифрования на основе загруженных расширений.

Можно использовать этот метод, чтобы принудительно выбрать между реализациями openssl/custom.

Параметры

Cake\Utility\Crypto\OpenSsl|null $instance optional

Инстанс шифрования для использования.

Возвращает

Cake\Utility\Crypto\OpenSsl

Исключения

InvalidArgumentException
При отсутствии совместимого расширения шифрования.

getSalt() public static

getSalt(): string

Получение соли HMAC, используемой для шифрования/расшифровки.

Возвращает

string

hash() public static

hash(string $string, string|null $algorithm = null, mixed $salt = false): string

Создание хеша из строки с использованием заданного метода.

Параметры

string $string

Строка для хеширования.

string|null $algorithm optional

Алгоритм хеширования (например, sha1, sha256 и т.д.). Может быть любым допустимым алгоритмом, включенным в список, возвращаемый hash_algos(). Если значение не передано, используется тип, указанный в Security::$hashType.

mixed $salt optional

Если true, автоматически добавляет значение, возвращаемое Security::getSalt(), к $string.

Возвращает

string

Исключения

RuntimeException

Ссылки

https://book.cakephp.org/4/en/core-libraries/security.html#hashing-data

insecureRandomBytes() public static

insecureRandomBytes(int $length): string

Аналогично randomBytes(), но не криптографически безопасен.

Параметры

int $length

Количество байтов.

Возвращает

string

См. также

\Cake\Utility\Security::randomBytes()

randomBytes() public static

randomBytes(int $length): string

Получение случайных байтов из безопасного источника.

Этот метод будет использовать небезопасный источник и сгенерирует предупреждение, если не сможет найти безопасный источник случайных данных.

Параметры

int $length

Количество байтов.

Возвращает

string

randomString() public static

randomString(int $length = 64): string

Создает безопасную случайную строку.

Параметры

int $length optional

Длина строки. По умолчанию 64.

Возвращает

string

setHash() public static

setHash(string $hash): void

Устанавливает метод хеширования по умолчанию для объекта Security. Это влияет на все объекты, использующие Security::hash().

Параметры

string $hash

Метод для использования (sha1/sha256/md5 и т.д.).

Возвращает

void

См. также

\Cake\Utility\Security::hash()

setSalt() public static

setSalt(string $salt): void

Устанавливает соль HMAC для использования в процедурах шифрования/расшифровки.

Параметры

string $salt

Соль для использования в процедурах шифрования.

Возвращает

void

Подробное описание свойств

$_instance protected static

Реализация шифрования для использования.

Тип

object|null

$_salt protected static

Соль HMAC для использования в процедурах шифрования и расшифровки.

Тип

string|null

$hashType public static

Метод хеширования по умолчанию. Если параметр $type для Security::hash() не указан, используется это значение. По умолчанию 'sha1'.

Тип

string

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Utility.Security.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API