Spec-Zone.ru › CakePHP 3.6

Класс 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/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()
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.6/class-Cake.Utility.Security.html

Spec-Zone.ru

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