Spec-Zone.ru › CakePHP 3.8

Класс Security

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

Пространство имён: Cake\Utility
Расположение: Utility/Security.php

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

  • $_instance protected static
    object
    Реализация криптографического алгоритма для использования.
  • $_salt protected static
    string
    Соль 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
    Создаёт случайную строку.
  • rijndael() public static deprecated
    Шифрование/дешифрование текста с использованием заданного ключа методом rijndael.
  • salt() public static deprecated

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

  • setHash() public static

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

  • setSalt() public static

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

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

_checkKey()source protected static

_checkKey( string $key , string $method )

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

Параметры

строка $key
Ключ для проверки.
строка $method
Метод, для которого проверяется ключ.

Исключения

InvalidArgumentException
Когда длина ключа не соответствует 256 бит/32 байтам

constantEquals()source public static

constantEquals( string $original , string $compare )

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

Параметры

строка $original
Исходное значение.
строка $compare
Значение для сравнения.

Возвращает

boolean

См. также

https://github.com/resonantcore/php-future/

С версии

3.6.2

decrypt()source public static

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

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

Параметры

строка $cipher
Зашифрованный текст для дешифрования.
строка $key
Ключ длиной 256 бит/32 байта, используемый в качестве ключа шифра.
строка|null $hmacSalt необязательно null
Соль для HMAC-процесса. Оставьте null, чтобы использовать Security.salt.

Возвращает

строка|boolean
Расшифрованные данные. Любые завершающие нулевые байты будут удалены.

Исключения

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

encrypt()source public static

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

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

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

Параметры

строка $plain
Значение для шифрования.
строка $key
Ключ длиной 256 бит/32 байта, используемый в качестве ключа шифра.
строка|null $hmacSalt необязательно null
Соль для HMAC-процесса. Оставьте null, чтобы использовать Security.salt.

Возвращает

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

Исключения

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

engine()source public static

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

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

Вы можете использовать этот метод для принудительного выбора между mcrypt/openssl/собственными реализациями.

Параметры

Cake\Utility\Crypto\OpenSsl|Cake\Utility\Crypto\Mcrypt|null $instance необязательно null
Экземпляр криптографического алгоритма для использования.

Возвращает

Cake\Utility\Crypto\OpenSsl|Cake\Utility\Crypto\Mcrypt
Экземпляр криптографического алгоритма.

Исключения

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

getSalt()source public static

getSalt( )

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

Возвращает

строка
Текущая настроенная соль

hash()source public static

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

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

Параметры

строка $string
Строка для хэширования
строка|null $algorithm необязательно null

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

смешанное $salt необязательно false

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

Возвращает

строка
Хэш

Ссылка

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

insecureRandomBytes()source public static

insecureRandomBytes( integer $length )

Подобно randomBytes(), но не криптографически безопасный.

Параметры

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

Возвращает

строка
Случайные байты в двоичном формате.

См. также

\Cake\Utility\Security::randomBytes()
END_OF_DOCUMENT_MARKER

randomBytes()source public static

randomBytes( integer $length )

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

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

Параметры

целое число $length
Количество байтов, которое требуется.

Возвращает

строка
Случайные байты в двоичном формате.

randomString()source public static

randomString( integer $length = 64 )

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

Параметры

целое число $length необязательно 64
Длина строки. По умолчанию 64.

Возвращает

строка

С момента

3.6.0

rijndael()source public static deprecated

rijndael( string $text , string $key , string $operation )

Шифрует/Расшифровывает текст с использованием заданного ключа с помощью метода rijndael.

Устарело

3.6.3 Этот метод полагается на функции, предоставленные расширением mcrypt, которое устарело в PHP 7.1 и удалено в PHP 7.2. Нет прямого аналога этому методу. Обновите свой код, чтобы использовать Security::encrypt()/Security::decrypt() с движком OpenSsl вместо него.


Параметры

строка $text
Зашифрованная строка для расшифровки, обычная строка для шифрования
строка $key
Ключ, который используется в качестве ключа шифрования для зашифрованных данных.
строка $operation
Операция, которая должна быть выполнена, шифрование или расшифровка

Возвращает

строка
Зашифрованная/Расшифрованная строка.

Исключения

InvalidArgumentException
При возникновении ошибок.

salt()source public static deprecated

salt( string|null $salt = null )

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

Устарело

3.5.0 Используйте getSalt()/setSalt() вместо этого.

Параметры

строка|null $salt необязательно null
Соль, которая используется для операций шифрования. Если null, возвращает текущую соль.

Возвращает

строка
Текущая настроенная соль

setHash()source public static

setHash( string $hash )

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

Параметры

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

См. также

\Cake\Utility\Security::hash()

setSalt()source public static

setSalt( string $salt )

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

Параметры

строка $salt
Соль, используемая для операций шифрования.

Подробности свойств

$_instancesource

protected static объект

Реализация шифрования, которую следует использовать.

$_saltsource

protected static строка

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

$hashTypesource

public static строка

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

'sha1'

© 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/3.8/class-Cake.Utility.Security.html

Spec-Zone.ru

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