开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
openapi-java-sdk
/
src
/
main
/
java
/
php
/
IdcardImageUpload.php
openapi-java-sdk
/
src
/
main
/
java
/
php
/
IdcardImageUpload.php
IdcardImageUpload.php 3.57 KB
一键复制 编辑 原始数据 按行查看 历史
gsu_napoleon 提交于 2018年12月14日 14:24 +08:00 . +
<?php
namespace App\Http\Controllers;
class IdcardImageUpload
{
public function checkApi()
{
// 定义公共参数
$data = [
'appId' => 'openapitest',
'identity'=>'141024197503201571',
'identityType'=>0,
'nonce'=>$this->createNoncestr(),
'name'=>'姓名',
];
// 获取需要上传的正反面图片,用绝对路径
$frontfile = 'fm1.jpeg';
$backfile = 'fm6.jpeg';
/* 开始签名 */
$sign_data = $data; // 定义签名参数
$bodys['frontfile'] = file_get_contents($frontfile); // 获取身份证正面图片的byte []
$bodys['backfile'] = file_get_contents($backfile); // 获取身份证反面图片的byte []
$sign_data['frontfile'] = md5($bodys['frontfile']); // 设置验签参数frontfile的值为md5(byte [])
$sign_data['backfile'] = md5($bodys['backfile']); // 设置验签参数backfile的值为md5(byte [])
$sign = $this->rsaSign($sign_data); // 签名并获取签名参数sign的值
/* 完成签名 */
$post_data = $data; // 定义post数据
$minetype = 'image/jpeg';
$post_data['frontfile'] = curl_file_create( realpath($frontfile), $minetype); // 设置post数据中的frontfile参数
$post_data['backfile'] = curl_file_create( realpath($backfile), $minetype); // 设置post数据中的backfile参数
$post_data['sign'] = $sign; // 设置post数据中的sign参数
$url = 'https://openapitest.aiyuangong.com/econtract/extr/identity/upload'; // post请求url
$header = ['content-type:multipart/form-data']; // post请求ContentType
$res_data = $this->post($url, $post_data, $header); // 发起请求
}
public function rsaSign($data) {
ksort($data);
$query = http_build_query($data);
$query = urldecode($query);
$private_key = '私钥';
$res = "-----BEGIN RSA PRIVATE KEY-----\n" .
wordwrap($private_key, 64, "\n", true) .
"\n-----END RSA PRIVATE KEY-----";
openssl_sign($query, $sign, $res,OPENSSL_ALGO_SHA256);
//base64编码
$sign = base64_encode($sign);
return $sign;
}
protected function post($path, $params = [], $headers)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $path);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
//CURL_SSLVERSION_TLSv1
curl_setopt($curl, CURLOPT_SSLVERSION, 1);
$res = curl_exec($curl);
$errorno = curl_errno($curl);
if ($errorno) {
$errmsg = curl_error($curl);
curl_close($curl);
return compact('errorno', 'errmsg');
}
curl_close($curl);
return json_decode($res, true);
}
/**
* 作用:产生随机字符串,不长于32位
*/
public function createNoncestr( $length = 32 )
{
$chars = "abcdefghijklmnopqrstuvwxyz0123456789";
$str ="";
for ( $i = 0; $i < $length; $i++ ) {
$str.= substr($chars, mt_rand(0, strlen($chars)-1), 1);
}
return $str;
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

发行版

暂无发行版

贡献者

全部

语言

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/openapidemo/openapi-java-sdk.git
git@gitee.com:openapidemo/openapi-java-sdk.git
openapidemo
openapi-java-sdk
openapi-java-sdk
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /