Spec-Zone.ru › CakePHP 2.8

Класс Security

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

Пакет: Cake\Утилиты
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: 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.

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

строка
Расшифрованные данные. Все хвостовые нулевые байты будут удалены.

Исключения

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 для использования с компонентом Auth.
  • НЕ используйте постоянную соль для 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 использовался фиксированный вектор инициализации. Это было небезопасно. Теперь этот метод использует случайный вектор инициализации и будет бесшумно обновлять значения при их повторном шифровании.

Параметры

строка $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.
http://api.cakephp.org/2.8/class-Security.html

Spec-Zone.ru

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