Добрый день Вопрос к специалистам. Есть функция, вроде как формирует подпись. Поскольку в яваскрипте я почти ноль, прошу пояснить на пальцах, как она работает, дабы написать ее в пхп. HTML: <script> function calcSign() { // эта часть должна выполняться на сервере! Секретный ключ SHARED_SECRET должен быть только на сервере! if (!document.getElementById("NONCE").value) { document.getElementById("NONCE").value = vCurDate.getTime(); } var vS = ""; vS = vS + document.getElementById("ORDER").value + ";"; vS = vS + document.getElementById("AMOUNT").value + ";"; vS = vS + document.getElementById("CURRENCY").value + ";"; vS = vS + document.getElementById("MERCHANT").value + ";"; vS = vS + document.getElementById("TERMINAL").value + ";"; vS = vS + document.getElementById("NONCE").value + ";"; vS = vS + document.getElementById("CLIENT_ID").value + ";"; vS = vS + document.getElementById("DESC").value.replace(/\n|\r/g,"") + ";"; vS = vS + document.getElementById("DESC_ORDER").value.replace(/\n|\r/g,"") + ";"; vS = vS + document.getElementById("EMAIL").value + ";"; vS = vS + document.getElementById("BACKREF").value + ";"; vS = vS + document.getElementById("Ucaf_Flag").value + ";"; vS = vS + document.getElementById("Ucaf_Authentication_Data").value + ";"; vKey = document.getElementById("SHARED_SECRET").value; vSign = sha512(vKey+vS); document.getElementById("SIGN_DATA").innerHTML = vS; document.getElementById("P_SIGN").value = vSign; return false; } var vCurDate = new Date(); document.getElementById("NONCE").value = vCurDate.getTime(); document.getElementById("ORDER").value = (""+vCurDate.getTime()).substr(4); </script> Если есть желающие проконсультировать, отдельно буду благодарен )
откуда берет она эти значение ? я точно знаю, что полее ввода одно, оттуда берется значение AMOUNT ORDER, насколько я понимаю, уникальное значение. Если в этой функции нет его расчета, скорее всего берется по рандому CURRENCY, MERCHANT, TERMINAL - эти три значения вообще не меняются, это идентификатора плательщика vKey = document.getElementById("SHARED_SECRET") - этот вообще не должен попадать на сторону клиента, почему тогда js ? Вот в этом куске кода ORDER не высчитывается ? var vCurDate = new Date(); document.getElementById("NONCE").value = vCurDate.getTime(); document.getElementById("ORDER").value = (""+vCurDate.getTime()).substr(4);
Вот в этом куске кода ORDER не высчитывается ? var vCurDate = new Date(); document.getElementById("NONCE").value = vCurDate.getTime(); document.getElementById("ORDER").value = (""+vCurDate.getTime()).substr(4);