diff --git b/.classpath a/.classpath
new file mode 100644
index 0000000..fad7815
--- /dev/null
+++ a/.classpath
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/.idea/encodings.xml a/.idea/encodings.xml
new file mode 100644
index 0000000..52f851c
--- /dev/null
+++ a/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git b/.idea/inspectionProfiles/Project_Default.xml a/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..6560a98
--- /dev/null
+++ a/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git b/.idea/misc.xml a/.idea/misc.xml
new file mode 100644
index 0000000..e208459
--- /dev/null
+++ a/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git b/.idea/modules.xml a/.idea/modules.xml
new file mode 100644
index 0000000..0fb9717
--- /dev/null
+++ a/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git b/.idea/uiDesigner.xml a/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ a/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git b/.idea/workspace.xml a/.idea/workspace.xml
new file mode 100644
index 0000000..b549e95
--- /dev/null
+++ a/.idea/workspace.xml
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Android
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1529389282065
+
+
+ 1529389282065
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.8
+
+
+
+
+
+
+
+
+
+
+
+ 1.8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git b/.project a/.project
new file mode 100644
index 0000000..4926216
--- /dev/null
+++ a/.project
@@ -0,0 +1,17 @@
+
+
+ demo
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git b/.settings/org.eclipse.core.resources.prefs a/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..6ffeb24
--- /dev/null
+++ a/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+encoding//src/com/webank/one/GetSIGNTicketTest.java=UTF-8
+encoding//src/com/webank/pass/PassEasyCompare.java=UTF-8
+encoding//src/com/webank/pass/PassEasyface.java=UTF-8
+encoding//src/com/webank/utils/ValidateSignUtils.java=UTF-8
+encoding//src/com/webank/utils/ValidateSignUtils2.java=UTF-8
+encoding/=UTF-8
diff --git b/.settings/org.eclipse.jdt.core.prefs a/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..3a21537
--- /dev/null
+++ a/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git b/bin/com/webank/h5face/GetH5FaceId.class a/bin/com/webank/h5face/GetH5FaceId.class
new file mode 100644
index 0000000..ced3bfd
Binary files /dev/null and a/bin/com/webank/h5face/GetH5FaceId.class differ
diff --git b/bin/com/webank/h5face/Live02.class a/bin/com/webank/h5face/Live02.class
new file mode 100644
index 0000000..5201a99
Binary files /dev/null and a/bin/com/webank/h5face/Live02.class differ
diff --git b/bin/com/webank/h5face/WebLogin2.class a/bin/com/webank/h5face/WebLogin2.class
new file mode 100644
index 0000000..d24269d
Binary files /dev/null and a/bin/com/webank/h5face/WebLogin2.class differ
diff --git b/bin/com/webank/h5ocr/H5OcrLogin02.class a/bin/com/webank/h5ocr/H5OcrLogin02.class
new file mode 100644
index 0000000..34781bd
Binary files /dev/null and a/bin/com/webank/h5ocr/H5OcrLogin02.class differ
diff --git b/bin/com/webank/h5result/GetLiveResult.class a/bin/com/webank/h5result/GetLiveResult.class
new file mode 100644
index 0000000..97d13da
Binary files /dev/null and a/bin/com/webank/h5result/GetLiveResult.class differ
diff --git b/bin/com/webank/h5result/H5FaceResults.class a/bin/com/webank/h5result/H5FaceResults.class
new file mode 100644
index 0000000..e55142c
Binary files /dev/null and a/bin/com/webank/h5result/H5FaceResults.class differ
diff --git b/bin/com/webank/h5result/OcrResults.class a/bin/com/webank/h5result/OcrResults.class
new file mode 100644
index 0000000..6068fcf
Binary files /dev/null and a/bin/com/webank/h5result/OcrResults.class differ
diff --git b/bin/com/webank/one/GetNONCETicket.class a/bin/com/webank/one/GetNONCETicket.class
new file mode 100644
index 0000000..1c51473
Binary files /dev/null and a/bin/com/webank/one/GetNONCETicket.class differ
diff --git b/bin/com/webank/one/GetSIGNTicketTest.class a/bin/com/webank/one/GetSIGNTicketTest.class
new file mode 100644
index 0000000..24035a8
Binary files /dev/null and a/bin/com/webank/one/GetSIGNTicketTest.class differ
diff --git b/bin/com/webank/one/access_token.class a/bin/com/webank/one/access_token.class
new file mode 100644
index 0000000..2566d38
Binary files /dev/null and a/bin/com/webank/one/access_token.class differ
diff --git b/bin/com/webank/pass/BankCardOcrApp.class a/bin/com/webank/pass/BankCardOcrApp.class
new file mode 100644
index 0000000..5f1cc78
Binary files /dev/null and a/bin/com/webank/pass/BankCardOcrApp.class differ
diff --git b/bin/com/webank/pass/PaasIdcardOcrApp.class a/bin/com/webank/pass/PaasIdcardOcrApp.class
new file mode 100644
index 0000000..4ad10cb
Binary files /dev/null and a/bin/com/webank/pass/PaasIdcardOcrApp.class differ
diff --git b/bin/com/webank/pass/PassEasyCompare.class a/bin/com/webank/pass/PassEasyCompare.class
new file mode 100644
index 0000000..9d3ca9c
Binary files /dev/null and a/bin/com/webank/pass/PassEasyCompare.class differ
diff --git b/bin/com/webank/pass/PassEasyface.class a/bin/com/webank/pass/PassEasyface.class
new file mode 100644
index 0000000..b0a60cd
Binary files /dev/null and a/bin/com/webank/pass/PassEasyface.class differ
diff --git b/bin/com/webank/utils/Base64Util.class a/bin/com/webank/utils/Base64Util.class
new file mode 100644
index 0000000..9de73de
Binary files /dev/null and a/bin/com/webank/utils/Base64Util.class differ
diff --git b/bin/com/webank/utils/HttpClientUtil$1.class a/bin/com/webank/utils/HttpClientUtil$1.class
new file mode 100644
index 0000000..d1691ef
Binary files /dev/null and a/bin/com/webank/utils/HttpClientUtil$1.class differ
diff --git b/bin/com/webank/utils/HttpClientUtil$2.class a/bin/com/webank/utils/HttpClientUtil$2.class
new file mode 100644
index 0000000..fd7ce99
Binary files /dev/null and a/bin/com/webank/utils/HttpClientUtil$2.class differ
diff --git b/bin/com/webank/utils/HttpClientUtil.class a/bin/com/webank/utils/HttpClientUtil.class
new file mode 100644
index 0000000..fde4d70
Binary files /dev/null and a/bin/com/webank/utils/HttpClientUtil.class differ
diff --git b/bin/com/webank/utils/ImageUtils.class a/bin/com/webank/utils/ImageUtils.class
new file mode 100644
index 0000000..49d3cc0
Binary files /dev/null and a/bin/com/webank/utils/ImageUtils.class differ
diff --git b/bin/com/webank/utils/Img2Base64Util.class a/bin/com/webank/utils/Img2Base64Util.class
new file mode 100644
index 0000000..47d9d76
Binary files /dev/null and a/bin/com/webank/utils/Img2Base64Util.class differ
diff --git b/bin/com/webank/utils/InvertCodeGeneratorUitls.class a/bin/com/webank/utils/InvertCodeGeneratorUitls.class
new file mode 100644
index 0000000..e160e1f
Binary files /dev/null and a/bin/com/webank/utils/InvertCodeGeneratorUitls.class differ
diff --git b/bin/com/webank/utils/JsonUtil.class a/bin/com/webank/utils/JsonUtil.class
new file mode 100644
index 0000000..1b05984
Binary files /dev/null and a/bin/com/webank/utils/JsonUtil.class differ
diff --git b/bin/com/webank/utils/MyX509TrustManager.class a/bin/com/webank/utils/MyX509TrustManager.class
new file mode 100644
index 0000000..4f2adfd
Binary files /dev/null and a/bin/com/webank/utils/MyX509TrustManager.class differ
diff --git b/bin/com/webank/utils/QianMingUitls.class a/bin/com/webank/utils/QianMingUitls.class
new file mode 100644
index 0000000..d4eb31e
Binary files /dev/null and a/bin/com/webank/utils/QianMingUitls.class differ
diff --git b/bin/com/webank/utils/SSLClientUtil$1.class a/bin/com/webank/utils/SSLClientUtil$1.class
new file mode 100644
index 0000000..9b0aaa0
Binary files /dev/null and a/bin/com/webank/utils/SSLClientUtil$1.class differ
diff --git b/bin/com/webank/utils/SSLClientUtil.class a/bin/com/webank/utils/SSLClientUtil.class
new file mode 100644
index 0000000..509c12c
Binary files /dev/null and a/bin/com/webank/utils/SSLClientUtil.class differ
diff --git b/bin/com/webank/utils/SetEvidence.class a/bin/com/webank/utils/SetEvidence.class
new file mode 100644
index 0000000..23c8a60
Binary files /dev/null and a/bin/com/webank/utils/SetEvidence.class differ
diff --git b/bin/com/webank/utils/Sha1Uitls.class a/bin/com/webank/utils/Sha1Uitls.class
new file mode 100644
index 0000000..5820694
Binary files /dev/null and a/bin/com/webank/utils/Sha1Uitls.class differ
diff --git b/bin/com/webank/utils/Test64Bit.class a/bin/com/webank/utils/Test64Bit.class
new file mode 100644
index 0000000..5b4908f
Binary files /dev/null and a/bin/com/webank/utils/Test64Bit.class differ
diff --git b/bin/com/webank/utils/ValidateDictionaryUtils.class a/bin/com/webank/utils/ValidateDictionaryUtils.class
new file mode 100644
index 0000000..7ec1413
Binary files /dev/null and a/bin/com/webank/utils/ValidateDictionaryUtils.class differ
diff --git b/bin/com/webank/utils/ValidateSignUtils.class a/bin/com/webank/utils/ValidateSignUtils.class
new file mode 100644
index 0000000..9de90bd
Binary files /dev/null and a/bin/com/webank/utils/ValidateSignUtils.class differ
diff --git b/bin/com/webank/utils/ValidateSignUtils2.class a/bin/com/webank/utils/ValidateSignUtils2.class
new file mode 100644
index 0000000..b308978
Binary files /dev/null and a/bin/com/webank/utils/ValidateSignUtils2.class differ
diff --git b/bin/com/webank/utils/getUtils.class a/bin/com/webank/utils/getUtils.class
new file mode 100644
index 0000000..d6e2db6
Binary files /dev/null and a/bin/com/webank/utils/getUtils.class differ
diff --git b/bin/com/webank/utils/ggg.class a/bin/com/webank/utils/ggg.class
new file mode 100644
index 0000000..c6f2270
Binary files /dev/null and a/bin/com/webank/utils/ggg.class differ
diff --git b/demo.iml a/demo.iml
new file mode 100644
index 0000000..d992d03
--- /dev/null
+++ a/demo.iml
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git b/lib/MumbleJMeter-plugins-1.0-SNAPSHOT.jar a/lib/MumbleJMeter-plugins-1.0-SNAPSHOT.jar
new file mode 100644
index 0000000..922ffa2
Binary files /dev/null and a/lib/MumbleJMeter-plugins-1.0-SNAPSHOT.jar differ
diff --git b/lib/commons-beanutils-1.7.0.jar a/lib/commons-beanutils-1.7.0.jar
new file mode 100644
index 0000000..b1b89c9
Binary files /dev/null and a/lib/commons-beanutils-1.7.0.jar differ
diff --git b/lib/commons-codec-1.4.jar a/lib/commons-codec-1.4.jar
new file mode 100644
index 0000000..458d432
Binary files /dev/null and a/lib/commons-codec-1.4.jar differ
diff --git b/lib/commons-collections-3.1.jar a/lib/commons-collections-3.1.jar
new file mode 100644
index 0000000..41e230f
Binary files /dev/null and a/lib/commons-collections-3.1.jar differ
diff --git b/lib/commons-httpclient-3.1.jar a/lib/commons-httpclient-3.1.jar
new file mode 100644
index 0000000..7c59774
Binary files /dev/null and a/lib/commons-httpclient-3.1.jar differ
diff --git b/lib/commons-lang-2.5.jar a/lib/commons-lang-2.5.jar
new file mode 100644
index 0000000..ae491da
Binary files /dev/null and a/lib/commons-lang-2.5.jar differ
diff --git b/lib/commons-logging-1.1.1.jar a/lib/commons-logging-1.1.1.jar
new file mode 100644
index 0000000..1deef14
Binary files /dev/null and a/lib/commons-logging-1.1.1.jar differ
diff --git b/lib/ezmorph-1.0.3.jar a/lib/ezmorph-1.0.3.jar
new file mode 100644
index 0000000..179b8d6
Binary files /dev/null and a/lib/ezmorph-1.0.3.jar differ
diff --git b/lib/google-collections-1.0.jar a/lib/google-collections-1.0.jar
new file mode 100644
index 0000000..8e394fa
Binary files /dev/null and a/lib/google-collections-1.0.jar differ
diff --git b/lib/gson-2.8.0.jar a/lib/gson-2.8.0.jar
new file mode 100644
index 0000000..1235f63
Binary files /dev/null and a/lib/gson-2.8.0.jar differ
diff --git b/lib/guava-18.0.jar a/lib/guava-18.0.jar
new file mode 100644
index 0000000..8f89e49
Binary files /dev/null and a/lib/guava-18.0.jar differ
diff --git b/lib/guava-gwt-18.0.jar a/lib/guava-gwt-18.0.jar
new file mode 100644
index 0000000..eaea729
Binary files /dev/null and a/lib/guava-gwt-18.0.jar differ
diff --git b/lib/httpclient-4.3.1.jar a/lib/httpclient-4.3.1.jar
new file mode 100644
index 0000000..cdd1e38
Binary files /dev/null and a/lib/httpclient-4.3.1.jar differ
diff --git b/lib/httpcore-4.4.4.jar a/lib/httpcore-4.4.4.jar
new file mode 100644
index 0000000..ac4a877
Binary files /dev/null and a/lib/httpcore-4.4.4.jar differ
diff --git b/lib/jmagick-6.6.9-javadoc.jar a/lib/jmagick-6.6.9-javadoc.jar
new file mode 100644
index 0000000..5926587
Binary files /dev/null and a/lib/jmagick-6.6.9-javadoc.jar differ
diff --git b/lib/json-lib-2.4-jdk15.jar a/lib/json-lib-2.4-jdk15.jar
new file mode 100644
index 0000000..68d4f3b
Binary files /dev/null and a/lib/json-lib-2.4-jdk15.jar differ
diff --git b/src/com/tengxunyun/h5face/GetH5FaceId.java a/src/com/tengxunyun/h5face/GetH5FaceId.java
new file mode 100644
index 0000000..913aa31
--- /dev/null
+++ a/src/com/tengxunyun/h5face/GetH5FaceId.java
@@ -0,0 +1,82 @@
+package com.webank.h5face;
+
+import java.util.ArrayList;
+import java.util.Map;
+
+import com.webank.utils.HttpClientUtil;
+import com.webank.utils.JsonUtil;
+import com.webank.utils.QianMingUitls;
+
+import net.sf.json.JSONObject;
+
+/**
+ *
+ * [合作方后台上送身份信息 获取faceId]
+ * [功能详细描述]
+ *
+ * @author fwq
+ * @version [v1.0, 2017年11月7日]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class GetH5FaceId {
+
+ final static String orderNo = "orderNo19959248596551";
+ final static String name = "张三";
+ final static String idNo = "429006199009157019";
+ final static String version = "1.0.0";
+
+ public static String getH5FaceIdStr(String userId,String apiticket,String webankAppId ) throws Exception{
+
+ //设置签名所需要的参数
+ ArrayList list = new ArrayList();
+ list.add(webankAppId);
+ list.add(orderNo);
+ list.add(name);
+ list.add(idNo);
+ list.add(userId);
+ list.add(version);
+
+ //获取签名
+ System.err.println("第二部执行获取H5FaceID请求的"+"sha1加密工具参数 "+list);
+ System.out.println();
+ String getqianming = QianMingUitls.getqianming(list, apiticket);
+ System.out.println();
+ System.out.println("获取执行H5FaceID请求的"+"SingTicket "+apiticket);
+ System.out.println();
+ System.out.println("获取执行H5FaceID请求的"+getqianming.length()+"位签名为 "+getqianming);
+
+
+ final String Url="https://miniprogram-kyc.tencentcloudapi.com/api/server/h5/geth5faceid";
+
+
+ JSONObject params = new JSONObject();
+
+ params.put("webankAppId", webankAppId);
+ params.put("orderNo", orderNo);
+ params.put("name", name);
+ params.put("idNo", idNo);
+ params.put("userId", userId);
+ params.put("version", version);
+ params.put("sign", getqianming);
+ /* params.put("sourcePhotoStr", sourcePhotoStr);
+ params.put("sourcePhotoType", sourcePhotoType);*/
+
+ HttpClientUtil httpClientUtil = new HttpClientUtil();
+ String xmlData = httpClientUtil.doPost(Url, params.toString(), "utf-8");
+ System.out.println("获取H5faceID请求返回值为 "+xmlData);
+
+ Map map = JsonUtil.fromJson(xmlData.toString(), Map.class);
+
+ Object object=map.get("result");
+ String json = JsonUtil.toJson(object);
+
+ Map fromJson = JsonUtil.fromJson(json, Map.class);
+
+ System.err.println("h5faceId为 "+fromJson.get("h5faceId"));
+
+ return (String) fromJson.get("h5faceId");
+
+ }
+
+}
diff --git b/src/com/tengxunyun/h5face/Live02.java a/src/com/tengxunyun/h5face/Live02.java
new file mode 100644
index 0000000..435bda3
--- /dev/null
+++ a/src/com/tengxunyun/h5face/Live02.java
@@ -0,0 +1,89 @@
+package com.webank.h5face;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.webank.one.GetSIGNTicketTest;
+import com.webank.one.access_token;
+import org.apache.http.Consts;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+
+import com.google.common.collect.Lists;
+import com.webank.one.GetNONCETicket;
+import com.webank.utils.HttpClientUtil;
+import com.webank.utils.InvertCodeGeneratorUitls;
+import com.webank.utils.QianMingUitls;
+/**
+ *
+ * [公众号启动H5刷脸02]
+ * [功能详细描述]
+ *
+ * @author fwq
+ * @version [v1.0, 2017年11月6日]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class Live02 {
+
+ final static String appid = "";
+ final static String secret = "";
+ final static String version = "1.0.0";
+ final static String orderNo = "orderNo19959248596551";
+ final static String userId = "userID19959248596551";
+ final static String url = "https://www.baidu.com";
+ final static String resultType = "2";
+
+ public static void main(String[] args) throws Exception, Exception{
+
+ //设置签名所需要的参数
+
+ List codes = InvertCodeGeneratorUitls.genCodes(32, 2);
+ String code=codes.get(0);
+ String userId=codes.get(1);
+ String tokne= access_token.getToken(appid,secret);
+ String nonceTicket = GetNONCETicket.getNONCETicket(tokne,userId,appid);
+ ArrayList list = new ArrayList();
+ list.add(appid);
+ list.add(version);
+ list.add(code);
+ list.add(orderNo);
+ list.add(userId);
+ String getqianming = QianMingUitls.getqianming(list, nonceTicket);
+ System.err.println();
+ System.err.println("第三步执行H5Login请求的"+"sha1加密工具参数 "+list);
+ System.out.println();
+ System.out.println("获取执行H5Login请求的 "+getqianming.length()+"位签名为 "+getqianming);
+ System.out.println("32位字母加数字随机数 "+code);
+ System.out.println();
+ System.out.println("获取执行H5Login请求的"+"NonceTicket为 "+nonceTicket);
+ System.out.println();
+
+ List params = Lists.newArrayList();
+ params.add(new BasicNameValuePair("webankAppId", appid));
+ params.add(new BasicNameValuePair("version", version));
+ params.add(new BasicNameValuePair("nonce", code));
+ params.add(new BasicNameValuePair("orderNo", orderNo));
+ params.add(new BasicNameValuePair("url", url));
+ params.add(new BasicNameValuePair("resultType",resultType));
+ params.add(new BasicNameValuePair("userId", userId));
+ params.add(new BasicNameValuePair("sign", getqianming));
+ String str = "";
+ //转换为键值对
+ str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
+ System.out.println(str);
+ //创建Get请求
+
+ final String Url="https://miniprogram-kyc.tencentcloudapi.com/api/wx/livelogin"+"?"+str;
+ System.out.println(Url);
+
+
+ /* HttpClientUtil httpClientUtil = new HttpClientUtil();
+ String xmlData = httpClientUtil.sendGetRequest(Url, "utf8");
+ System.out.println(xmlData);*/
+ }
+
+
+}
diff --git b/src/com/tengxunyun/h5face/WebLogin2.java a/src/com/tengxunyun/h5face/WebLogin2.java
new file mode 100644
index 0000000..58b155e
--- /dev/null
+++ a/src/com/tengxunyun/h5face/WebLogin2.java
@@ -0,0 +1,95 @@
+package com.webank.h5face;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.webank.one.GetSIGNTicketTest;
+import com.webank.one.access_token;
+import org.apache.http.Consts;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+
+import com.google.common.collect.Lists;
+import com.webank.one.GetNONCETicket;
+import com.webank.utils.HttpClientUtil;
+import com.webank.utils.InvertCodeGeneratorUitls;
+import com.webank.utils.QianMingUitls;
+/**
+ *
+ * [公众号启动H5刷脸02]
+ * [功能详细描述]
+ *
+ * @author fwq
+ * @version [v1.0, 2017年11月6日]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class WebLogin2 {
+
+ final static String appid = "";
+ final static String secret = "";
+ final static String version = "1.0.0";
+ final static String orderNo = "orderNo19959248596551";
+ final static String url = "https://www.baidu.com";
+ final static String resultType = "2";
+
+ public static void main(String[] args) throws Exception, Exception{
+
+ //设置签名所需要的参数
+ List codes = InvertCodeGeneratorUitls.genCodes(32, 2);
+ String code=codes.get(0);
+ String userId=codes.get(1);
+ String tokne=access_token.getToken(appid,secret);
+
+ String signticket=GetSIGNTicketTest.getSignticket(appid,tokne);
+
+ String nonceTicket = GetNONCETicket.getNONCETicket(tokne,userId,appid);
+ String h5FaceIdStr = GetH5FaceId.getH5FaceIdStr(userId,signticket,appid);
+ ArrayList list = new ArrayList();
+ list.add(appid);
+ list.add(version);
+ list.add(code);
+ list.add(orderNo);
+ list.add(h5FaceIdStr);
+ list.add(userId);
+
+
+ String getqianming = QianMingUitls.getqianming(list, nonceTicket);
+ System.err.println();
+ System.err.println("第三步执行H5Login请求的"+"sha1加密工具参数 "+list);
+ System.out.println();
+ System.out.println("获取执行H5Login请求的 "+getqianming.length()+"位签名为 "+getqianming);
+ System.out.println("32位字母加数字随机数 "+code);
+ System.out.println();
+ System.out.println("获取执行H5Login请求的"+"NonceTicket为 "+nonceTicket);
+ System.out.println();
+
+ List params = Lists.newArrayList();
+ params.add(new BasicNameValuePair("webankAppId", appid));
+ params.add(new BasicNameValuePair("version", version));
+ params.add(new BasicNameValuePair("nonce", code));
+ params.add(new BasicNameValuePair("orderNo", orderNo));
+ params.add(new BasicNameValuePair("h5faceId", h5FaceIdStr));
+ params.add(new BasicNameValuePair("url", url));
+ params.add(new BasicNameValuePair("resultType",resultType));
+ params.add(new BasicNameValuePair("userId", userId));
+ params.add(new BasicNameValuePair("sign", getqianming));
+ String str = "";
+ //转换为键值对
+ str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
+ System.out.println(str);
+ //创建Get请求
+
+ final String Url="https://miniprogram-kyc.tencentcloudapi.com/api/web/login"+"?"+str;
+ System.out.println(Url);
+
+
+ /*HttpClientUtil httpClientUtil = new HttpClientUtil();
+ String xmlData = httpClientUtil.sendGetRequest(Url, "utf8");
+ System.out.println(xmlData);*/
+ }
+
+
+}
diff --git b/src/com/tengxunyun/h5ocr/H5OcrLogin02.java a/src/com/tengxunyun/h5ocr/H5OcrLogin02.java
new file mode 100644
index 0000000..2a3ae2b
--- /dev/null
+++ a/src/com/tengxunyun/h5ocr/H5OcrLogin02.java
@@ -0,0 +1,89 @@
+package com.webank.h5ocr;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.webank.one.access_token;
+import org.apache.http.Consts;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+
+import com.google.common.collect.Lists;
+import com.webank.one.GetNONCETicket;
+import com.webank.utils.HttpClientUtil;
+import com.webank.utils.InvertCodeGeneratorUitls;
+import com.webank.utils.QianMingUitls;
+/**
+ *
+ * [公众号启动H5刷脸02]
+ * [功能详细描述]
+ *
+ * @author fwq
+ * @version [v1.0, 2017年11月6日]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class H5OcrLogin02 {
+
+ final static String appid = "";
+ final static String secret = "";
+ final static String version = "1.0.0";
+ final static String url = "https://www.baidu.com";
+ final static String ocrFlag = "2";
+
+ public static void main(String[] args) throws Exception, Exception{
+
+ //设置签名所需要的参数
+ List codes = InvertCodeGeneratorUitls.genCodes(32, 3);
+ String code=codes.get(0);
+ String userId=codes.get(1);
+ String orderNo = codes.get(2);
+ String tokne= access_token.getToken(appid,secret);
+ String nonceTicket = GetNONCETicket.getNONCETicket(tokne,userId,appid);
+ ArrayList list = new ArrayList();
+ list.add(appid);
+ list.add(version);
+ list.add(code);
+ list.add(orderNo);
+ list.add(userId);
+
+ String sign = QianMingUitls.getqianming(list, nonceTicket);
+ System.err.println();
+ System.err.println("第二步执行h5ocrlogin请求的"+"sha1加密工具参数 "+list);
+ System.out.println();
+ System.out.println("获取执行h5ocrlogin请求的 "+sign.length()+"位签名为 "+sign);
+ System.out.println("32位字母加数字随机数 "+code);
+ System.out.println();
+ System.out.println("获取执行h5ocrlogin请求的"+"NonceTicket为 "+nonceTicket);
+ System.out.println();
+
+
+ /*"https://sit-ida.webank.com/api/h5/ocrlogin?webankAppId="+webankAppId+"&version="+version+"&"
+ + "nonce="+nonce+"&orderNo="+orderNo+"&url="+url+"&userId="+userId+"&sign="+sign+"";*/
+
+ List params = Lists.newArrayList();
+ params.add(new BasicNameValuePair("webankAppId", appid));
+ params.add(new BasicNameValuePair("version", version));
+ params.add(new BasicNameValuePair("nonce", code));
+ params.add(new BasicNameValuePair("orderNo", orderNo));
+ params.add(new BasicNameValuePair("url", url));
+ params.add(new BasicNameValuePair("userId", userId));
+ params.add(new BasicNameValuePair("sign", sign));
+ params.add(new BasicNameValuePair("ocrFlag", ocrFlag));
+ String str = "";
+ //转换为键值对
+ str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
+ System.out.println(str);
+ //创建Get请求
+
+ final String Url="https://miniprogram-kyc.tencentcloudapi.com/api/h5/ocrlogin"+"?"+str;
+ System.out.println(Url);
+ /*
+ HttpClientUtil httpClientUtil = new HttpClientUtil();
+ String xmlData = httpClientUtil.sendGetRequest(Url, "utf8");*/
+ }
+
+
+}
diff --git b/src/com/tengxunyun/h5result/GetLiveResult.java a/src/com/tengxunyun/h5result/GetLiveResult.java
new file mode 100644
index 0000000..1bda361
--- /dev/null
+++ a/src/com/tengxunyun/h5result/GetLiveResult.java
@@ -0,0 +1,73 @@
+package com.webank.h5result;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
+
+import com.webank.one.GetNONCETicket;
+import com.webank.one.GetSIGNTicketTest;
+import com.webank.one.access_token;
+import com.webank.utils.InvertCodeGeneratorUitls;
+import com.webank.utils.MyX509TrustManager;
+import com.webank.utils.QianMingUitls;
+import com.webank.utils.Sha1Uitls;
+import com.webank.utils.getUtils;
+/**
+ *
+ * [人脸识别 服务端查询结果]
+ * [功能详细描述]
+ *
+ * @author fwq
+ * @version [v1.0, 2017年11月6日]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class GetLiveResult {
+
+ final static String appid = "";
+ final static String secret = "";
+ final static String version = "1.0.0";
+ final static String orderNo = "1234567890123456789012345678900a";
+
+ public static void main(String[] args) throws Exception{
+
+ String tokne= access_token.getToken(appid,secret);
+
+ String signticket= GetSIGNTicketTest.getSignticket(appid,tokne);
+
+ //设置签名所需要的参数
+ List codes = InvertCodeGeneratorUitls.genCodes(32, 1);
+ String nonce=codes.get(0);
+ ArrayList list = new ArrayList();
+ list.add(appid);
+ list.add(version);
+ list.add(nonce);
+ list.add(orderNo);
+
+ String sign = QianMingUitls.getqianming(list, signticket);
+ System.err.println();
+ System.err.println("第四步执行刷脸结果请求的"+"sha1加密工具参数 "+list);
+ System.out.println();
+ System.out.println("获取执行刷脸结果请求的 "+sign.length()+"位签名为 "+sign);
+ System.out.println("32位字母加数字随机数 "+nonce);
+ System.out.println();
+ System.out.println("获取执行刷脸结果请求的"+"sinTicket为 "+signticket);
+ System.out.println();
+
+ String Url="https://miniprogram-kyc.tencentcloudapi.com/api/server/getLiveResult?app_id="+appid+"&nonce="+nonce+"&order_no="+orderNo+"&version=1.0.0&sign="+sign+"&get_file=1";
+ //建立连接
+
+ StringBuffer stringBuffer = getUtils.get(Url);
+ System.out.println(stringBuffer);
+
+ }
+
+}
diff --git b/src/com/tengxunyun/h5result/H5FaceResults.java a/src/com/tengxunyun/h5result/H5FaceResults.java
new file mode 100644
index 0000000..b72c71a
--- /dev/null
+++ a/src/com/tengxunyun/h5result/H5FaceResults.java
@@ -0,0 +1,72 @@
+package com.webank.h5result;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
+
+import com.webank.one.GetNONCETicket;
+import com.webank.one.GetSIGNTicketTest;
+import com.webank.one.access_token;
+import com.webank.utils.InvertCodeGeneratorUitls;
+import com.webank.utils.MyX509TrustManager;
+import com.webank.utils.QianMingUitls;
+import com.webank.utils.Sha1Uitls;
+import com.webank.utils.getUtils;
+/**
+ *
+ * [人脸识别 服务端查询结果]
+ * [功能详细描述]
+ *
+ * @author fwq
+ * @version [v1.0, 2017年11月6日]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class H5FaceResults {
+
+ final static String appid = "";
+ final static String secret = "";
+ final static String version = "1.0.0";
+ final static String orderNo = "1234567890123456789012345678900a";
+
+ public static void main(String[] args) throws Exception{
+
+ String tokne= access_token.getToken(appid,secret);
+
+ String signticket= GetSIGNTicketTest.getSignticket(appid,tokne);
+
+ //设置签名所需要的参数
+ List codes = InvertCodeGeneratorUitls.genCodes(32, 1);
+ String nonce=codes.get(0);
+ ArrayList list = new ArrayList();
+ list.add(appid);
+ list.add(version);
+ list.add(nonce);
+ list.add(orderNo);
+
+ String sign = QianMingUitls.getqianming(list, signticket);
+ System.err.println();
+ System.err.println("第四步执行刷脸结果请求的"+"sha1加密工具参数 "+list);
+ System.out.println();
+ System.out.println("获取执行刷脸结果请求的 "+sign.length()+"位签名为 "+sign);
+ System.out.println("32位字母加数字随机数 "+nonce);
+ System.out.println();
+ System.out.println("获取执行刷脸结果请求的"+"sinTicket为 "+signticket);
+ System.out.println();
+
+ String Url="https://miniprogram-kyc.tencentcloudapi.com/api/server/sync?app_id="+appid+"&nonce="+nonce+"&order_no="+orderNo+"&version=1.0.0&sign="+sign+"&get_file=1";
+ //建立连接
+
+ StringBuffer stringBuffer = getUtils.get(Url);
+
+ }
+
+}
diff --git b/src/com/tengxunyun/h5result/OcrResults.java a/src/com/tengxunyun/h5result/OcrResults.java
new file mode 100644
index 0000000..0511b47
--- /dev/null
+++ a/src/com/tengxunyun/h5result/OcrResults.java
@@ -0,0 +1,109 @@
+package com.webank.h5result;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
+
+import com.webank.one.GetNONCETicket;
+import com.webank.one.GetSIGNTicketTest;
+import com.webank.one.access_token;
+import com.webank.utils.InvertCodeGeneratorUitls;
+import com.webank.utils.MyX509TrustManager;
+import com.webank.utils.QianMingUitls;
+import com.webank.utils.Sha1Uitls;
+/**
+ *
+ * [人脸识别 服务端查询结果]
+ * [功能详细描述]
+ *
+ * @author fwq
+ * @version [v1.0, 2017年11月6日]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class OcrResults {
+
+
+ final static String appid = "";
+ final static String secret = "";
+ final static String version = "1.0.0";
+ final static String orderNo = "1234567890123456789012345678900a";
+
+ public static void main(String[] args) throws Exception{
+
+ String tokne= access_token.getToken(appid,secret);
+
+ String signticket= GetSIGNTicketTest.getSignticket(appid,tokne);
+
+
+ //设置签名所需要的参数
+ List codes = InvertCodeGeneratorUitls.genCodes(32, 1);
+ String nonce=codes.get(0);
+ ArrayList list = new ArrayList();
+ list.add(appid);
+ list.add(version);
+ list.add(nonce);
+ list.add(orderNo);
+
+ String sign = QianMingUitls.getqianming(list, signticket);
+ System.err.println();
+ System.err.println("第四步执行刷脸结果请求的"+"sha1加密工具参数 "+list);
+ System.out.println();
+ System.out.println("获取执行刷脸结果请求的 "+sign.length()+"位签名为 "+sign);
+ System.out.println("32位字母加数字随机数 "+nonce);
+ System.out.println();
+ System.out.println("获取执行刷脸结果请求的"+"sinTicket为 "+signticket);
+ System.out.println();
+
+ String tokenUrl="https://miniprogram-kyc.tencentcloudapi.com/api/server/getOcrResult?app_id="+appid+"&nonce="+nonce+"&order_no="+orderNo+"&version=1.0.0&sign="+sign+"&get_file=1";
+ //建立连接
+ URL url = new URL(tokenUrl);
+
+
+ System.out.println("获取请求路径为 "+url);
+ HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();
+
+ // 创建SSLContext对象,并使用我们指定的信任管理器初始化
+ TrustManager[] tm = { new MyX509TrustManager() };
+ SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
+ sslContext.init(null, tm, new java.security.SecureRandom());
+ // 从上述SSLContext对象中得到SSLSocketFactory对象
+ SSLSocketFactory ssf = sslContext.getSocketFactory();
+
+ httpUrlConn.setSSLSocketFactory(ssf);
+ httpUrlConn.setDoOutput(true);
+ httpUrlConn.setDoInput(true);
+
+ // 设置请求方式(GET/POST)
+ httpUrlConn.setRequestMethod("GET");
+
+ // 取得输入流
+ InputStream inputStream = httpUrlConn.getInputStream();
+ InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
+ BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
+ //读取响应内容
+ StringBuffer buffer = new StringBuffer();
+ String str = null;
+ while ((str = bufferedReader.readLine()) != null) {
+ buffer.append(str);
+ }
+ bufferedReader.close();
+ inputStreamReader.close();
+ // 释放资源
+ inputStream.close();
+ httpUrlConn.disconnect();
+ //输出返回结果
+ System.out.println(buffer);
+
+
+ }
+
+}
diff --git b/src/com/tengxunyun/one/GetNONCETicket.java a/src/com/tengxunyun/one/GetNONCETicket.java
new file mode 100644
index 0000000..bdfa47b
--- /dev/null
+++ a/src/com/tengxunyun/one/GetNONCETicket.java
@@ -0,0 +1,54 @@
+package com.webank.one;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
+
+import com.webank.utils.InvertCodeGeneratorUitls;
+import com.webank.utils.JsonUtil;
+import com.webank.utils.MyX509TrustManager;
+import com.webank.utils.getUtils;
+/**
+ *
+ * [获取nonceticket]
+ * [功能详细描述]
+ *
+ * @author fwq
+ * @version [v1.0, 2017年11月7日]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class GetNONCETicket {
+
+ public static String getNONCETicket(String access_token,String userId,String appid)throws Exception {
+
+ //修改appID,secret
+ String nonceTicketURL="https://miniprogram-kyc.tencentcloudapi.com/api/oauth2/api_ticket?app_id="+appid+"&access_token="+access_token+"&type=NONCE&version=1.0.0&user_id="+userId+"";
+ StringBuffer stringBuffer = getUtils.get(nonceTicketURL);
+ System.out.println("第一步:获取nonceTicket请求返回值为 "+stringBuffer);
+ System.out.println();
+ Map map = JsonUtil.fromJson(stringBuffer.toString(), Map.class);
+
+ List