/**
* 方法描述 把实体对象中的value值进行加密后转化成JSON
*
* author xingMeiLing
* param object待解析对象 publicKey公钥
* return json(key是属性,value是加密后的值)
*/
public String getEntityValue(Object object, PublicKey publicKey){
Class clazz = object.getClass();
// 获取类中声明的字段
Field[] fields = clazz.getDeclaredFields();
// 拼接String需要
StringBuilder sb = new StringBuilder();
sb.append("{");
for (Field field : fields) {
// 避免 can not access a member of class com.java.test.Person with modifiers "private"
field.setAccessible(true);
try {
// 获取实体属性的值,通过公钥把返回的值进行加密
// publicKeyBase64()这个加密方法略
String base64Value = publicKeyBase64(field.get(object),publicKey);
// 进行拼接
sb.append("\"");
// 获取实体属性的Name
sb.append(field.getName());
sb.append("\"");
sb.append(":");
sb.append("\"");
sb.append(base64Value);
sb.append("\"");
sb.append(",");
System.out.println(field.getName() + ":"+ field.get(object));
} catch (IllegalAccessException e) {
log.error("加密数据异常");
e.printStackTrace();
} catch (Exception e) {
log.error("公钥加密异常",e.getMessage());
e.printStackTrace();
}
}
sb.replace(sb.length() - 1, sb.length(), "");
sb.append("}");
return String.valueOf(sb);
}