'ko'); $dataBody = array('req_dtim'=>$req_dtim, 'req_no'=>$req_no, 'enc_mode'=>'1'); $data = json_encode(array( 'dataHeader'=>$dataHeader, 'dataBody'=>$dataBody )); $url ='https://svc.niceapi.co.kr:22001/digital/niceid/api/v1.0/common/crypto/token'; $token_json = post($url, $data, $headers); $arr = json_decode($token_json, true); $token_version_id = $arr['dataBody']['token_version_id']; $token_val = $arr['dataBody']['token_val']; $site_code = $arr['dataBody']['site_code']; $value = $req_dtim.$req_no.$token_val; $resultVal=base64_encode(hash('sha256', $value, true)); $key = substr($resultVal, 0, 16); $iv = substr($resultVal, -16); $hmac_key = substr($resultVal, 0, 32); $plain_data = json_encode( array( 'requestno' => $req_no, 'returnurl'=> $returnurl, 'sitecode'=>$site_code ), JSON_UNESCAPED_SLASHES); // 인증 완료 후 success페이지에서 사용을 위한 key값은 DB,세션등 업체 정책에 맞춰 관리 후 사용하면 됩니다. // 예시에서 사용하는 방법은 세션이며, 세션을 사용할 경우 반드시 인증 완료 후 세션이 유실되지 않고 유지되도록 확인 바랍니다. // key, iv, hmac_key 값들은 token_version_id에 따라 동일하게 생성되는 고유값입니다. // success페이지에서 token_version_id가 일치하는지 확인 바랍니다. $_SESSION["token_version_id"] = $token_version_id; $_SESSION["key"]=$key; $_SESSION["iv"]=$iv; $_SESSION["hmac_key"]=$hmac_key; $_SESSION["req_no"]=$req_no; $enc_data = base64_encode(openssl_encrypt($plain_data, "AES-128-CBC", $key, true, $iv)); $integrity = base64_encode(hash_hmac('sha256', $enc_data, $hmac_key, true)); //http 통신을 위한 함수 function post($url, $json, $header){ $ch = curl_init(); // curl 초기화 curl_setopt($ch, CURLOPT_URL, $url); // url 지정하기 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 요청결과를 문자열로 반환 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); // connection timeout : 10초 curl_setopt($ch, CURLOPT_POSTFIELDS, $json); // POST DATA curl_setopt($ch, CURLOPT_POST, true); // POST 전송 여부 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); $response = curl_exec($ch); curl_close ($ch); return $response; } ?> Created with GameMaker

Your browser doesn't support HTML5 canvas.