Spec-Zone.ru › CakePHP 2.10

Класс Безопасность

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

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

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

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

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

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

    Генерирует псевдослучайную соль, подходящую для использования с функцией php crypt(). Длина соли не должна превышать 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 )

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

Параметры

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

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

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

_salt()source protected static

_salt( integer $length 22 )

Генерирует псевдослучайную соль, подходящую для использования с функцией php crypt(). Длина соли не должна превышать 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.

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

Параметры

строка $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 или ранее сгенерированная соль.

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

строка
Хеш

Ссылка

https://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 использовался фиксированный вектор инициализации. Это было небезопасно. В настоящее время этот метод использует случайный вектор, и будет молча обновлять значения при повторном шифровании.

Параметры

строка $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–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/2.10/class-Security.html

Spec-Zone.ru

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