Spec-Zone.ru › CakePHP 2.7

Класс Security

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

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

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

_checkKeyисходный код protected static

_checkKey( string $key , string $method )

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

Параметры

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

Исключения

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

_cryptисходный код protected static

_crypt( string $password , mixed $salt false )

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

Параметры

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

Возвращает

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

_saltисходный код protected static

_salt( integer $length 22 )

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

Параметры

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

Возвращает

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

cipherисходный код public static

cipher( string $text , string $key )

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

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

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

Устарело

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

Параметры

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

Возвращает

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

decryptисходный код public static

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

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

Параметры

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

Возвращает

string
Расшифрованные данные. Любые завершающие нулевые байты будут удалены.

Исключения

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

encryptисходный код public static

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

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

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

Параметры

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

Возвращает

string
Зашифрованные данные.

Исключения

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

generateAuthKeyисходный код public static

generateAuthKey( )

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

Возвращает

string
Хэш

hashисходный код 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 или ранее сгенерированной солью.

Возвращает

string
Хэш

Ссылка

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

inactiveMinsисходный код public static

inactiveMins( )

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

Устарело

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

Возвращает

integer
Разрешённые минуты бездействия

rijndaelисходный код public static

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

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

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

Параметры

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

Возвращает

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

setCostисходный код public static

setCost( integer $cost )

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

Параметры

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

setHashисходный код public static

setHash( string $hash )

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

Параметры

строка $hash
Метод для использования (sha1/sha256/md5/blowfish)

См. также

Security::hash()

validateAuthKeyисходный код public static

validateAuthKey( string $authKey )

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

Параметры

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

Возвращает

boolean
Успешно

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

$hashCostsource

public static string

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

'10'

$hashTypesource

public static string

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

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.7/class-Security.html

Spec-Zone.ru

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