Bitrix-D7 23.9
 
Загрузка...
Поиск...
Не найдено
Класс Signer
+ Граф наследования:Signer:

Открытые члены

 __construct (SigningAlgorithm $algorithm=null)
 
 setKey ($value)
 
 getSeparator ()
 
 setSeparator ($value)
 
 getSignature ($value, $salt=null)
 
 sign ($value, $salt=null)
 
 unsign ($signedValue, $salt=null)
 
 validate ($value, $signature, $salt=null)
 
 pack (array $values)
 
 unpack ($value, $limit=2)
 

Защищенные члены

 verifySignature ($value, $sig, $salt=null)
 
 getKey ($salt=null)
 
 getDefaultKey ()
 
 encodeSignature ($value)
 
 decodeSignature ($value)
 

Защищенные данные

 $algorithm = null
 
 $separator = '.'
 
 $key = null
 

Подробное описание

См. определение в файле signer.php строка 12

Конструктор(ы)

◆ __construct()

__construct ( SigningAlgorithm $algorithm = null)

Creates new Signer object. If you want use your own signing algorithm - you can this

Аргументы
SigningAlgorithm | null$algorithmCustom signing algorithm.

См. определение в файле signer.php строка 25

Методы

◆ decodeSignature()

decodeSignature ( $value)
protected

Return decoded signature

Аргументы
string$valueEncoded signature.
Возвращает
string Signature in binary representation
Исключения
BadSignatureException

Переопределяется в Bitrix24Signer.

См. определение в файле signer.php строка 318

◆ encodeSignature()

encodeSignature ( $value)
protected

Return encoded signature

Аргументы
string$valueSignature in binary representation.
Возвращает
string Encoded signature

Переопределяется в Bitrix24Signer.

См. определение в файле signer.php строка 306

◆ getDefaultKey()

getDefaultKey ( )
protected

Return default (system) key for signing or generate if it does not exists

Возвращает
string

См. определение в файле signer.php строка 220

◆ getKey()

getKey ( $salt = null)
protected

Return salted key for signing. If key was set by setKey - use it Otherwise - used default (if default key does not exists - automatically generate it)

Аргументы
string | null$saltSalt, if needed.
Исключения
BadSignatureException
Возвращает
string

См. определение в файле signer.php строка 202

◆ getSeparator()

getSeparator ( )

Return separator, used for packing/unpacking

Возвращает
string

См. определение в файле signer.php строка 54

◆ getSignature()

getSignature ( $value,
$salt = null )

Return message signature

Аргументы
string$valueMessage.
string | null$saltSalt.
Возвращает
string
Исключения
ArgumentTypeException

См. определение в файле signer.php строка 83

◆ pack()

pack ( array $values)

Pack array values to single string: pack(['test', 'all', 'values']) -> 'test.all.values'

Аргументы
array$valuesValues for packing.
Возвращает
string

См. определение в файле signer.php строка 250

◆ setKey()

setKey ( $value)

Set key for signing

Аргументы
string$valueKey.
Возвращает
$this
Исключения
ArgumentTypeException

См. определение в файле signer.php строка 40

◆ setSeparator()

setSeparator ( $value)

Set separator, used for packing/unpacking

Аргументы
string$valueSeparator.
Возвращает
$this
Исключения
ArgumentTypeException

См. определение в файле signer.php строка 66

◆ sign()

sign ( $value,
$salt = null )

Sign message, return string in format "{message}{separator}{signature}"

Simple example: // If salt needed $foo = (new Signer)->sign('test', 'my_salt');

// Otherwise $bar = (new Signer)->sign('test');

Аргументы
string$valueMessage for signing.
string | null$saltSalt, if needed.
Возвращает
string
Исключения
ArgumentTypeException

Переопределяется в Bitrix24Signer.

См. определение в файле signer.php строка 111

◆ unpack()

unpack ( $value,
$limit = 2 )

Unpack values from string (something like rsplit). Simple example for separator ".": // Unpack all values: unpack('test.all.values', 0) -> ['test', 'all', 'values']

// Unpack 2 values (by default). First element containing the rest of string. unpack('test.all.values') -> ['test.all', 'values']

// Exception if separator is missing unpack('test.all values', 3) -> throws BadSignatureException

Аргументы
string$valueString for unpacking.
int$limitIf $limit === 0 - unpack all values, default - 2.
Возвращает
array
Исключения
BadSignatureException

См. определение в файле signer.php строка 274

◆ unsign()

unsign ( $signedValue,
$salt = null )

Check message signature and return original message.

Simple example: $signer = new Signer;

// Sing message $signedValue = $signer->sign('test');

// Get original message with checking echo $signer->unsign($signedValue); // Output: 'test'

// Try to unsigning not signed value echo $signer->unsign('test'); //throw BadSignatureException with message 'Separator not found in value'

// Or with invalid sign echo $signer->unsign('test.invalid_sign');

// Or invalid salt //throw BadSignatureException with message 'Signature does not match' echo $signer->unsign($signedValue, 'invalid_salt');

Аргументы
string$signedValueSigned value, must be in format "{message}{separator}{signature}".
string | null$saltSalt, if used while signing.
Возвращает
string
Исключения
BadSignatureException
ArgumentTypeException

Переопределяется в Bitrix24Signer.

См. определение в файле signer.php строка 153

◆ validate()

validate ( $value,
$signature,
$salt = null )

Simply validation of message signature

Аргументы
string$valueMessage.
string$signatureSignature.
string | null$saltSalt, if used while signing.
Возвращает
bool True if OK, otherwise - false.

См. определение в файле signer.php строка 173

◆ verifySignature()

verifySignature ( $value,
$sig,
$salt = null )
protected

Verify message signature provided by hashing algorithm

Аргументы
string$valueMessage.
string$sigSignature.
string | null$saltSalt, if used while signing.
Возвращает
bool

См. определение в файле signer.php строка 186

Данные класса

◆ $algorithm

$algorithm = null
protected

См. определение в файле signer.php строка 15

◆ $key

$key = null
protected

См. определение в файле signer.php строка 18

◆ $separator

$separator = '.'
protected

См. определение в файле signer.php строка 16