Spec-Zone.ru › CakePHP 3.7

Класс 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.

Возвращаемое значение

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

Исключения

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/custom.

Параметры

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()

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

Spec-Zone.ru

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