增加对接摘要接口,增加电话加密

main
yanzai 2 years ago
parent 4e8f330e07
commit 05f73a08f1

@ -29,11 +29,20 @@ class AppointmentController extends Controller
$source='接口';
$info=request('info');
//HSM加密
$HSM =\App\Lib\HSM::HsmEncrypt($info['id_card_num']);
if($HSM['status']!=true){
return \Yz::echoError1('身份证号加密失败');
$HSM_sfz =\App\Lib\HSM::HsmEncrypt($info['id_card_num']);
if($HSM_sfz['status']!=true){
return \Yz::echoError1('调用HSM加密失败');
}
$info['id_card_num']=$HSM['data'];
$info['id_card_num']=$HSM_sfz['data'];
if(isset($info['tel'])){
$HSM_tel =\App\Lib\HSM::HsmEncrypt($info['tel']);
if($HSM_tel['status']!=true){
return \Yz::echoError1('调用HSM加密失败');
}
$info['tel']=$HSM_tel['data'];
}
$c=DB::table('appointment_record as a')
->where([['a.id_card_num','=',$info['id_card_num']],['a.is_del','=',0],['a.fee_type','=',0],['a.created_at','>=',$firstDay],['a.created_at','<=',$lastDay]])->get();
@ -47,8 +56,12 @@ class AppointmentController extends Controller
$result['msg']='可以继续,本年度无免费体检记录';
$result['info']=$c;
}
$currentDateTime = date('Y-m-d H:i:s');
$org_code=isset($info['org_code'])?$info['org_code']:'';
$Hmac=\App\Lib\HSM::Hmac($info['name'].$info['id_card_num'].$info['tel'].$org_code.$currentDateTime);
if($Hmac['status']!=true){
return \Yz::echoError1('HMAC摘要失败');
}
$i=DB::table('appointment_record')->insert([
'source'=>$source,
'type'=>$info['type'],
@ -61,9 +74,10 @@ class AppointmentController extends Controller
//'content'=>json_encode($info['content']),
'content'=>isset($info['content'])?json_encode($info['content'],JSON_UNESCAPED_UNICODE):'',
'fee_type'=>$info['fee_type'],
'org_code'=>isset($info['org_code'])?json_encode($info['org_code'],JSON_UNESCAPED_UNICODE):'',
'org_name'=>isset($info['org_name'])?json_encode($info['org_name'],JSON_UNESCAPED_UNICODE):'',
'org_code'=>$org_code,
'org_name'=>isset($info['org_name'])?$info['org_name']:'',
'created_at'=>$currentDateTime,
'hmac'=>$Hmac['data'],
]);
if($i){

@ -34,7 +34,8 @@ class TestController extends Controller
}
public function mm_test()
{
$a= HSM::HsmEncrypt("dsf");
$a= HSM::Hmac("");//测试Hmac摘要
// $a= HSM::HsmEncrypt("dsf");
// $a= HSM::HsmDecrypt("fd01ede26c7ba22caa1b86b3941b652c");
return json_encode( $a, JSON_UNESCAPED_UNICODE);
}

@ -50,6 +50,26 @@ class HSM
return ['status'=>false];
}
}
//计算 HMAC
public static function Hmac($or_str)
{
$str = bin2hex($or_str);
$url= self::$baseurl."/api/hsm/digest/macInternal";
$data=[
"keyIndex"=>self::$keyIndex,
"macAlg"=>'HMac-SM3',
"plainData"=>$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'=>$r_data['body']['mac']];
}else{
return ['status'=>false];
}
}
public function post($url, $data_string,$or_str='')
{
$curl = curl_init();

Loading…
Cancel
Save