Spec-Zone.ru › CakePHP 3.4

Класс 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
    Получение реализации криптографического алгоритма на основе загруженных расширений.
  • getSalt() public static

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

  • hash() public static
    Создание хеша из строки с использованием заданного метода.
  • insecureRandomBytes() public static
    Аналогично randomBytes(), но не криптографически безопасен.
  • randomBytes() public static
    Получение случайных байтов из безопасного источника.
  • rijndael() public static
    Шифрование/дешифрование текста с использованием заданного ключа методом rijndael.
  • salt() public static

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

  • setHash() public static

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

  • setSalt() public static

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

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

_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|boolean
Расшифрованные данные. Любые заключительные байты null будут удалены.

Исключения

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

encrypt()source public static

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

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

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

Параметры

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
При отсутствии совместимого криптографического расширения.

getSalt()source public static

getSalt( )

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

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

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

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
Хеш

Ссылка

https://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
Случайные байты в двоичном формате.
END_OF_DOCUMENT_MARKER

rijndael()source public static

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

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

Параметры

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

Возвращает

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

Исключения

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

salt()source public static

salt( string|null $salt null )

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

Устарело

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

Параметры

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

setSalt()source public static

setSalt( string $salt )

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

Параметры

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

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

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

Spec-Zone.ru

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