Spec-Zone.ru › CakePHP 3.3

Класс 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() protected static
    Сравнение, устойчивое к атакам на основе тайминга, отдающее предпочтение собственным реализациям PHP.
  • decrypt() public static
    Дешифрование значения с использованием AES-256.
  • encrypt() public static
    Шифрование значения с использованием AES-256.
  • engine() public static
    Получение реализации криптографии на основе загруженных расширений.
  • hash() public static
    Генерация хэша из строки с использованием указанного метода.
  • insecureRandomBytes() public static
    Аналогично randomBytes(), но не криптографически безопасный.
  • randomBytes() public static
    Получение случайных байтов из надёжного источника.
  • rijndael() public static
    Шифрование/дешифрование текста с помощью заданного ключа с использованием метода rijndael.
  • salt() public static

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

  • setHash() public static

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

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

_checkKey()source protected static

_checkKey( string $key , string $method )

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

Параметры

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

Исключения

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

_constantEquals()source protected static

_constantEquals( string $hmac , string $compare )

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

Параметры

string $hmac
HMAC из шифрованного текста, который дешифруется.
string $compare
HMAC для сравнения.

Возвращает

boolean

См. также

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

decrypt()source public static

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

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

Параметры

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

Возвращает

string
Дешифрованные данные. Любые заключительные нулевые байты будут удалены.

Исключения

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

encrypt()source public static

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

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

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

Параметры

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

Возвращает

string
Зашифрованные данные.

Исключения

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

engine()source public static

engine( object|null $instance null )

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

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

Параметры

object|null $instance необязательный null
Инстанс криптографического объекта для использования.

Возвращает

object
Инстанс криптографического объекта.

Исключения

InvalidArgumentException
Когда нет совместимого расширения криптографии.

hash()source public static

hash( string $string , string|null $type null , mixed $salt false )

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

Параметры

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

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

mixed $salt необязательный false

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

Возвращает

string
Хэш

Ссылка

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

insecureRandomBytes()source public static

insecureRandomBytes( integer $length )

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

Параметры

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

Возвращает

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

См. также

\Cake\Utility\Security::randomBytes()

randomBytes()source public static

randomBytes( integer $length )

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

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

Параметры

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

Возвращает

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

rijndael()source public static

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

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

Параметры

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

Возвращает

string
Зашифрованная/дешифрованная строка

Исключения

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

salt()source public static

salt( string|null $salt null )

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

Параметры

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

Возвращает

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

setHash()source public static

setHash( string $hash )

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

Параметры

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

См. также

\Cake\Utility\Security::hash()

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

$_instancesource

protected static object

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

$_saltsource

protected static string

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

$hashTypesource

public static string

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

'sha1'

© 2005–2017 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.3/class-Cake.Utility.Security.html

Spec-Zone.ru

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