Spec-Zone.ru › CakePHP 3.2

Класс 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
Хеш из зашифрованного текста, который дешифруется.
string $compare
Сравниваемый хеш.

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

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/пользовательскими реализациями.

Параметры

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–2016 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.
http://api.cakephp.org/3.2/class-Cake.Utility.Security.html

Spec-Zone.ru

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