Commit 16a69b13 by sikang

添加Advance活体工具类

parent 0d22a259
......@@ -10,8 +10,44 @@ public class DisplayBean implements Serializable {
private String customerMobile;
//登录方式 SMS:短信登录
private String loginType;
private String advanceFaceRecognitionAccessKey;
private String advanceFaceRecognitionSecretKey;
private String advancePictureQualityAccessKey;
private String advancePictureQualitySecretKey;
private long updateTime;
public String getAdvanceFaceRecognitionAccessKey() {
return advanceFaceRecognitionAccessKey;
}
public void setAdvanceFaceRecognitionAccessKey(String advanceFaceRecognitionAccessKey) {
this.advanceFaceRecognitionAccessKey = advanceFaceRecognitionAccessKey;
}
public String getAdvanceFaceRecognitionSecretKey() {
return advanceFaceRecognitionSecretKey;
}
public void setAdvanceFaceRecognitionSecretKey(String advanceFaceRecognitionSecretKey) {
this.advanceFaceRecognitionSecretKey = advanceFaceRecognitionSecretKey;
}
public String getAdvancePictureQualityAccessKey() {
return advancePictureQualityAccessKey;
}
public void setAdvancePictureQualityAccessKey(String advancePictureQualityAccessKey) {
this.advancePictureQualityAccessKey = advancePictureQualityAccessKey;
}
public String getAdvancePictureQualitySecretKey() {
return advancePictureQualitySecretKey;
}
public void setAdvancePictureQualitySecretKey(String advancePictureQualitySecretKey) {
this.advancePictureQualitySecretKey = advancePictureQualitySecretKey;
}
public long getUpdateTime() {
return updateTime;
}
......
......@@ -77,10 +77,10 @@ public class UploadPresenter extends BasePresenter<UploadApi> {
* 上传依图 截取得帧图片
*/
public void faceVerify(final String action, Context context, double amount, int day, long productId) {
faceVerify(action, context, PreferencesManager.get().getVerificationData(), amount, day, productId);
faceVerify(action, AppInfoUtils.getAndroidID(context), PreferencesManager.get().getVerificationData(), amount, day, productId);
}
public void faceVerify(final String action, Context context, String faceData, double amount, int day, long productId) {
public void faceVerify(final String action, String androidId, String faceData, double amount, int day, long productId) {
TrackEventHelper.logEvent(TrackEvent.FACE_DETECTION);
handleRequest(
apiService.faceVerify(
......@@ -91,7 +91,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> {
null,
null,
MultipartBodyMaker.makeSimplePart("delta", faceData),
AppInfoUtils.getAndroidID(context),
androidId,
productId,
!TextUtils.isEmpty(LibConfig.TONGDUN_PARENT_KEY),
LoginManager.get().getToken()
......
package tech.starwin.utils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
/**
* Created by xwf on 2016/10/30.
*/
public class ThreeDes {
/**
* @param args在java中调用sun公司提供的3DES加密解密算法时,需要使
* 用到$JAVA_HOME/jre/lib/目录下如下的4个jar包:
* jce.jar
* security/US_export_policy.jar
* security/local_policy.jar
* ext/sunjce_provider.jar
*/
private static final String ALGORITHM = "DESede"; //定义加密算法,可用 DES,DESede,Blowfish
private static final String DEFAULT_KEY = "starwin123456";
//keyByte为加密密钥,长度为24字节
//src为被加密的数据缓冲区(源)
public static byte[] encrypt(byte[] keyByte, byte[] src) {
try {
//生成密钥
SecretKey deskey = new SecretKeySpec(keyByte, ALGORITHM);
//加密
Cipher c1 = Cipher.getInstance(ALGORITHM);
c1.init(Cipher.ENCRYPT_MODE, deskey);
return c1.doFinal(src);//在单一方面的加密或解密
} catch (java.security.NoSuchAlgorithmException e1) {
// TODO: handle exception
e1.printStackTrace();
} catch (javax.crypto.NoSuchPaddingException e2) {
e2.printStackTrace();
} catch (Exception e3) {
e3.printStackTrace();
}
return null;
}
//keyByte为加密密钥,长度为24字节
//src为加密后的缓冲区
public static byte[] decrypt(byte[] keyByte, byte[] src) {
try {
//生成密钥
SecretKey destKey = new SecretKeySpec(keyByte, ALGORITHM);
//解密
Cipher c1 = Cipher.getInstance(ALGORITHM);
c1.init(Cipher.DECRYPT_MODE, destKey);
return c1.doFinal(src);
} catch (java.security.NoSuchAlgorithmException e1) {
// TODO: handle exception
e1.printStackTrace();
} catch (javax.crypto.NoSuchPaddingException e2) {
e2.printStackTrace();
} catch (Exception e3) {
e3.printStackTrace();
}
return null;
}
public static byte[] decrypt(byte[] src) {
return decrypt(hex(DEFAULT_KEY), src);
}
private static String md5Hex(String string) {
if (string == null || string.length() == 0) {
return "";
}
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
byte[] bytes = md5.digest(string.getBytes());
StringBuilder result = new StringBuilder();
for (byte b : bytes) {
String temp = Integer.toHexString(b & 0xff);
if (temp.length() == 1) {
temp = "0" + temp;
}
result.append(temp);
}
return result.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
private static byte[] hex(String secretKey) {
String f = md5Hex(secretKey);
byte[] bytes = f.getBytes();
byte[] enk = new byte[24];
for (int i = 0; i < 24; i++) {
enk[i] = bytes[i];
}
return enk;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment