PHP腾讯云人脸核身获取FaceId

参考腾讯云官方文档:

人脸核身 合作方后台上传身份信息_腾讯云

前提:已经获取了SIGN Ticket。获取参考文档:

PHP腾讯云人脸核身获取SIGN Ticket-CSDN博客

public function getTxFaceId($uid,$name,$idNo){

		
		$appId = '';
		$userId = $uid;
		$nonce = $this->random(32);
		$version = '1.0.0';
		$ticket = file_get_contents('/data/config/tx_face_signticket.txt');

		if(!$ticket){
			return '';
		}

		$data = [$appId,$userId,$version,$ticket,$nonce];
		asort($data);
		$str = '';
		foreach ($data as  $val) {
			$str.= $val;
		}

		$sign = sha1($str);
		if(!$sign){
			return '';
		}

		$url = 'https://kyc1.qcloud.com/api/server/getfaceid';

		$post_data = [
			'appId' => $appId,
			'orderNo' => $uid.$nonce,
			'name' => $name,
			'idNo' => $idNo,
			'userId' => $uid,
			'version' =>'1.0.0',
			'sign' => $sign,
			'nonce' => $nonce
		];

		$result = $this->curl_post($url,$post_data);
		$arr = json_decode($result,true);
		
		if($arr['code'] == 0){
			$faceId = $arr['result']['faceId'];
			return $faceId;
		}

		return '';
}

//生成随机字符串
function random($length = 6 , $numeric = 0) {
		PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);
		if($numeric) {
			$hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
		} else {
			$hash = '';
			$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz';
			$max = strlen($chars) - 1;
			for($i = 0; $i < $length; $i++) {
				$hash .= $chars[mt_rand(0, $max)];
			}
		}
		return $hash;
}


//curl Post提交
function curl_post($url,$data){
		$data = json_encode($data);
		$headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
		curl_setopt($curl, CURLOPT_POST, 1);
		curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
		curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
		$output = curl_exec($curl);
		curl_close($curl);

		return $output;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值