OPAY / Techninė informacija / Web API / Skaitmeninis duomenų pasirašymas / Simetrinis pasirašymas ir parašo tikrinimas

Simetrinis pasirašymas ir parašo tikrinimas

Pasirašymas

Pasirašant  parametrus,  iš  visų  siuntimui  paruoštų  parametrų  (neįtraukiant  parametrų password_signature ir rsa_signature) reikia suformuoti pasirašymo eilutę.
Pasirašymas simetriniu būdu vyksta pasirašymo / parašo tikrinimo eilutę ir pasirašymo slaptažodį sujungiant į vieną eilutę, ir ją išmaišant md5 algoritmu.

$string = 'paramName1Parametras 1paramName2Parametras 2paramName3Parametras ąč';
$password = '33cec89hjab1d77b10d21fba67528g5h';
$signature = md5($string . $password);

Gautas simetrinis parašas pridedamas kaip password_signature parametras prie paruoštų siuntimui parametrų, kurie siunčiami į OPAY. Pageidautina, kad prieš siunčiant paruoštus parametrus į OPAY, parametrai dar būtų užkoduoti ir siunčiami kap vienas parametras enocoded (Žiūrėti skiltyje Duomenų kodavimas siekiant išvengti galimų iškraipymų).

Parašo tikrinimas

Parašas tikrinamas iš visų gautų parametrų (neįtraukiant parametrų password_signature ir rsa_signature) suformuojant pasirašymui / parašo tikrinimui skirtą eilutę. OPAY siunčia parametrus užkoduotus į vieną parametrą encoded, todėl norimiems parametrams gauti, reikės išsikoduoti encoded parametro reikšmę (Žiūrėti skiltyje Duomenų kodavimas siekiant išvengti galimų iškraipymų).
Pasirašymui / parašo tikrinimui skirtą eilutę pasirašome, o gautą rezultatą palyginame su gauto parametro password_signature reikšme. Jeigu reikšmės sutampa – autentifikacija pavyko.

$string = 'paramName1Parametras 1paramName2Parametras 2paramName3Parametras ąč';
$password = '33cec89hjab1d77b10d21fba67528g5h';
$signature = md5($string . $password); 
if ($arrayOfParameters['password_signature'] == $signature) {
// Duomenų autentifikacija pavyko - SĖKMĖ
} else {
// Duomenys neatitinka parašo - NESĖKMĖ
}