| 12345678910111213141516171819202122232425 |
- <?php
- namespace App\Http\Controllers\api\thirdPart\syrius\units;
- trait Signature
- {
- public function verify(string $requestUrl, string $waitSignBody):bool
- {
- $secret = config("api.syrius.client_secret");
- $baseUrl = config("app.url");
- $arr = explode("&signature=",$requestUrl);
- if (count($arr)!=2)return false;
- $signature = $arr[1];
- $waitSignUrl = ltrim($arr[0],$baseUrl);
- $plainText = "POST"."\n".$waitSignUrl."\n".$waitSignBody."\n";
- return $signature == $this->sign($secret.":".$plainText);
- }
- public function sign(string $str):string
- {
- return hash("sha256",$str);
- }
- }
|