>[оверквотинг удален]
>> (она открыто не передаётся)?
> Да, я имел в виду именно подпись. Но утверждение, что она открыто
> не передается - очень спорное. Вот недавно работал с CyberSource -
> там соль хранится локально, я на основании данных, которые передаются в
> открытом виде (пусть и по https), и этой соли считаю хеш,
> затем передаю его рядом с этими же данными. Та сторона знает
> мою соль и видит переданные данные - считает хеш и сравнивает
> с переданным. Алгоритма динамической смены соли там нет (и я слабо
> представляю себе, как это можно сделать безопасно), соответственно чем быстрее хеш-функция,
> тем быстрее можно подобрать мою соль.хмммм соль да соль, а причём тут соль ? речь о подписи, а подпись это хеш зашифрованный приватным ключём отправителя, получатель зная публичный ключь отправителя раскрывает этот хеш и сверяет с полученным хешом от отправленных данных, как можно просто посылать хеш в месте с данными ? я спокойно изменю данные по пути и вычислю от них хеш, где гарантии того, что данные не изменены ?
>>Но утверждение, что она открыто не передается - очень спорное.
Даже подпись на бумаге проверяется через эксперта и анализ подчерка автора.
пс:
merchant_id = your_merchant_id
transaction_key = "your_transaction_key"
банальная практика реквест токенов для API. хотя он там используется как пароль, а не хеш.
$soapUsername = new SoapVar(
$this->merchantId,
XSD_STRING,
NULL,
$nameSpace,
NULL,
$nameSpace
);
$soapPassword = new SoapVar(
$this->transactionKey,
XSD_STRING,
NULL,
$nameSpace,
NULL,
$nameSpace
);
$auth = new stdClass();
$auth->Username = $soapUsername;
$auth->Password = $soapPassword;