self::$keyIndex, "encAlg"=>self::$encAlg, "iv"=>self::$iv, "plainData"=>$str ]; $data=json_encode($data); $encryptStr=self::post($url,$data,$or_str); $r_data=json_decode($encryptStr, true); // dd($r_data); if($r_data['status']==0){ return ['status'=>true,'data'=>$r_data['body']['cipherData']]; }else{ return ['status'=>false]; } } //解密 public static function HsmDecrypt($str){ $url= self::$baseurl."/api/hsm/sym/symDecryptInternalForKEK"; $data=[ "keyIndex"=>self::$keyIndex, "encAlg"=>self::$encAlg, "iv"=>self::$iv, "cipherData"=>$str ]; $data=json_encode($data); $encryptStr=self::post($url,$data); $r_data=json_decode($encryptStr, true); if($r_data['status']==0){ return ['status'=>true,'data'=>hex2bin($r_data['body']['plain'])]; }else{ return ['status'=>false]; } } public function post($url, $data_string,$or_str='') { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($data_string) ]); curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string); $r = curl_exec($curl); curl_close($curl); date_default_timezone_set('PRC'); $table_name='zz_request_log_' . date('ym'); $formatted_date= date("Y-m-d H:i:s"); DB::table($table_name)->insert([ 'request_ip'=>'', 'response_data'=>json_encode($r, JSON_UNESCAPED_UNICODE), 'header_data'=>'', 'post_data'=>$or_str.'/'.$data_string, 'get_data'=>'', 'request_url'=>$url, 'create_time' => $formatted_date, 'update_time' => $formatted_date ]); return $r; } }