<?php
/**
 * Created by PhpStorm.
 * User: edward
 * Date: 20/09/2019
 * Time: 20:30
 */

namespace api\models;

use Yii;
use api\models\SpSystem;

class Security
{


    public static function getKey(){  // Retrieve private key

            return  SpSystem::findOne(['system_acronym'=>'GePG'])->secret_key;
    }

    public static function getAccessToken(){  // Retrieve system access token

            return  SpSystem::findOne(['system_acronym'=>'GePG'])->sys_access_token;
    }


    public static function generateSignature($message){  // Generate signature

        $key=self::getKey();
        $signature = hash_hmac('sha256', json_encode($message),$key);

        return $signature;
    }

    public static function validateSignature($request){  // validate signature

            $computed_signature=self::generateSignature($request['TrxResp']);

            return $request['signature'] == $computed_signature;

    }


}
