Spec-Zone.ru › CakePHP 2.9

Класс Security

Библиотека Security содержит служебные методы, связанные с безопасностью

Пакет: Cake\Utility
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Utility/Security.php

Краткое описание свойств

  • $hashCost public static
    string
    Значение по умолчанию для стоимости
  • $hashType public static
    string
    Метод хеширования по умолчанию

Краткое описание методов

  • _checkKey() protected static
    Проверка ключа шифрования на корректную длину.
  • _crypt() protected static
    Одностороннее шифрование с использованием функции crypt() PHP. Для использования хеширования Blowfish см. Security::hash()
  • _salt() protected static

    Генерирует псевдослучайную соль, подходящую для использования с функцией crypt() PHP. Длина соли не должна превышать 27. Соль будет состоять из [./0-9A-Za-z]{$length}.

  • cipher() public static
    Применяет XOR-шифрование к строке $text.
  • decrypt() public static
    Дешифрует значение с использованием AES-256.
  • encrypt() public static
    Шифрует значение с использованием AES-256.
  • generateAuthKey() public static
    Генерирует хэш авторизации.
  • hash() public static
    Создаёт хэш из строки, используя заданный метод или возвращаясь к следующему доступному методу.
  • inactiveMins() public static
    Получает разрешённые минуты бездействия на основе уровня безопасности.
  • randomBytes() public static
    Получает случайные байты из безопасного источника.
  • rijndael() public static
    Шифрует/дешифрует текст с использованием заданного ключа с использованием метода rijndael.
  • setCost() public static
    Устанавливает стоимость для метода хеширования Blowfish.
  • setHash() public static

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

  • validateAuthKey() public static
    Проверяет хэш авторизации.

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

_checkKey()source protected static

_checkKey( string $key , string $method )

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

Параметры

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

Исключения

CakeException
При несоответствии длины ключа 256 битам/32 байтам

_crypt()source protected static

_crypt( string $password , mixed $salt false )

Одностороннее шифрование с использованием функции crypt() PHP. Для использования хеширования Blowfish см. Security::hash()

Параметры

строка $password
Строка, которая будет зашифрована.
смешанный $salt необязательно false
false для генерации новой соли или существующая соль.

Возвращает

строка
Хешированная строка или пустая строка при ошибке.

_salt()source protected static

_salt( integer $length 22 )

Генерирует псевдослучайную соль, подходящую для использования с функцией crypt() PHP. Длина соли не должна превышать 27. Соль будет состоять из [./0-9A-Za-z]{$length}.

Параметры

целое число $length необязательно 22
Длина возвращаемой соли

Возвращает

строка
Сгенерированная соль

cipher()source public static

cipher( string $text , string $key )

Применяет XOR-шифрование к строке $text.

Примечание Этот метод не является криптографически стойким и не должен использоваться для конфиденциальных данных. Кроме того, этот метод не работает в средах, где включён suhosin.

Вместо этого используйте Security::rijndael(), когда вам нужно сильное шифрование.

Устаревшее

3.0.0 Будет удалено в версии 3.0.

Параметры

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

Возвращает

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

decrypt()source public static

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

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

Параметры

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

Возвращает

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

Исключения

CakeException
При неверных данных или ключе.

encrypt()source public static

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

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

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

Параметры

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

Возвращает

строка
Зашифрованные данные.

Исключения

CakeException
При неверных данных или ключе.

generateAuthKey()source public static

generateAuthKey( )

Генерирует хэш авторизации.

Устаревшее

2.8.1 Этот метод был удалён в версии 3.0.0

Возвращает

строка
Хэш

hash()source public static

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

Создаёт хэш из строки, используя заданный метод или возвращаясь к следующему доступному методу.

Использование Blowfish

  • Создание хэшей: Не передавайте соль. Cake обрабатывает создание соли для вас, гарантируя, что каждый хешированный пароль будет иметь уникальную соль.
  • Сравнение хэшей: Просто передайте исходно хешированный пароль в качестве соли. Соль добавляется в начало хэша, и PHP автоматически обрабатывает разбор. Для удобства доступен класс BlowfishPasswordHasher для использования с AuthComponent.
  • НЕ используйте постоянную соль для Blowfish!

Создание хэша blowfish/bcrypt:

$hash = Security::hash($password, 'blowfish');

Параметры

строка $string
Строка для хеширования
строка $type необязательно null
Метод для использования (sha1/sha256/md5/blowfish)
смешанный $salt необязательно false

Если true, автоматически добавляет значение соли приложения к $string (Security.salt). Если вы используете blowfish, соль должна быть false или ранее сгенерированной солью.

Возвращает

строка
Хэш

Ссылка

http://book.cakephp.org/2.0/en/core-utility-libraries/security.html#Security::hash
END_OF_DOCUMENT_MARKER ```

inactiveMins()source public static

inactiveMins( )

Получение разрешенных минут бездействия на основе уровня безопасности.

Устаревшее

3.0.0 Существует только для обратной совместимости, не используется ядром

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

целое число
Разрешенное время бездействия в минутах

randomBytes()source public static

randomBytes( integer $length )

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

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

Параметры

целое число $length
Количество байтов, которые вам нужно.

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

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

rijndael()source public static

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

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

До версии 2.3.1 использовался фиксированный вектор инициализации. Это было небезопасно. Этот метод теперь использует случайный iv и будет тихо обновлять значения при их повторном шифровании.

Параметры

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

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

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

setCost()source public static

setCost( integer $cost )

Устанавливает стоимость для метода хеширования blowfish.

Параметры

целое число $cost
Допустимые значения от 4 до 31

setHash()source public static

setHash( string $hash )

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

Параметры

строка $hash
Используемый метод (sha1/sha256/md5/blowfish)

См. также

Security::hash()

validateAuthKey()source public static

validateAuthKey( string $authKey )

Проверка хэша авторизации.

Устаревшее

2.8.1 Этот метод был удален в 3.0.0

Параметры

строка $authKey
Хэш авторизации

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

логическое значение
Успех

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

$hashCostsource

public static строка

Значение по умолчанию

'10'

$hashTypesource

public static строка

Метод хеширования по умолчанию

null

© 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.
https://api.cakephp.org/2.9/class-Security.html

Spec-Zone.ru

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