MD5加密&阿里巴巴JSON
阿新 • • 發佈:2019-02-07
MD5
//客戶端所需要傳輸的資料加上key 一起傳給MD5Encode 生成MD5
//客戶端傳輸資料的時候不傳key
//服務端用服務端手上的key和接收到的資料再生成一個MD5來對比 以此保證資料正確
String str= "0000";
String clientkey = "爽膚水--MD5";
String clientstr = str + clientkey;
//生成MD5
String result = AlibabaJson.MD5Encode(clientstr, "UTF-8" ).toUpperCase();
System.out.println(result);
//用接收到的資料生成一個新的MD5 與原來的MD5對比
String checkstr = "0000";
String serverkey = "爽膚水--MD5";
String serverstr = checkstr + serverkey;
System.out.print("驗證密碼是否正確:");
if(validatePassword(result, serverstr, "UTF-8" )) {
System.out.println("正確");
}
else {
System.out.println("錯誤");
}
}
//通過獲取引數並且生成新的MD5校驗碼 然後和 獲取到的MD5校驗碼 對比 以此驗證傳過來的資料是否被修改
public static boolean validatePassword(String origin, String inputString, String charsetname){
if (origin.equals(MD5Encode(inputString,charsetname).toUpperCase())){
return true;
} else{
return false;
}
}
//通過獲取資料來生成MD5驗證碼 charsetname為"UTF-8"編碼比較好
public static String MD5Encode(String origin, String charsetname) {
String resultString = null;
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] digestString = md.digest(resultString.getBytes(charsetname));
if (charsetname == null || "".equals(charsetname))
resultString = byteArrayToHexString(digestString);
else
resultString = byteArrayToHexString(digestString);
} catch (Exception exception) {
}
return resultString;
}
//生成MD5序列的邏輯
private static String byteArrayToHexString(byte b[]) {
StringBuffer resultSb = new StringBuffer();
String byteToHex = null;
for (int i = 0; i < b.length; i++){
byteToHex = byteToHexString(b[i]);
resultSb.append(byteToHex);
}
return resultSb.toString();
}
//邏輯中每一位資料 在這裡對應轉換成兩個字元
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n += 256;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
//轉換字元的集合 這裡可以根據自己喜好改一下順序 達到改變生成的MD5的結果的作用 慢慢試 估計可能可以清楚順序的
private static final String hexDigits[] = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
阿里JSON
private static void jsonToJSONObject() {
System.out.println("------------------jsonToJSONObject-----------------");
String json = "{\"id\":1,\"name\":\"Dylan\"}";
JSONObject jsonObject = JSON.parseObject(json);
System.out.println(jsonObject.getInteger("id")+":"+jsonObject.getString("name"));
}
//json字串轉JSONArray
private static void jsonToJSONArray() {
System.out.println("------------------jsonToJSONArray------------------");
String json="{users:[{\"id\":1,\"name\":\"關公\"},{\"id\":2,\"name\":\"狗王\"}]}";
String json2="[{\"id\":1,\"name\":\"關公\"},{\"id\":2,\"name\":\"狗王\"}]";
JSONObject parseObject = JSON.parseObject(json);
Map<String, List> map = JSON.parseObject(json, Map.class);
List map3 = JSON.parseObject(json2, List.class);
System.out.println("``````````````````````");
System.out.println(map3);
System.out.println("``````````````````````");
System.out.println(map);
for (Map.Entry<String, List> entry : map.entrySet()) {
System.out.println(entry.getValue());
List<User> userList = JSON.parseArray(entry.getValue().toString(), User.class);
System.out.println(userList);
for (User user:userList){
System.out.println(user.getId()+":"+user.getName());
}
System.out.println(entry.getKey());
}
JSONObject parse = (JSONObject)JSON.parse(json);
System.out.println(parseObject);
System.out.println(parse);
String jsonArray = parseObject.getJSONArray("users").toString();
List<User> userList = JSON.parseArray(jsonArray, User.class);
for (User user:userList){
System.out.println(user.getId()+":"+user.getName());
}
}
private static void mapToJson() {
System.out.println("-------------------mapToJson--------------------------");
Organization organization = new Organization();
organization.setId(1);
organization.setName("研發部");
User user1 = new User();
user1.setId(1);
user1.setName("愛迪生");
User user2 = new User();
user2.setId(2);
user2.setName("科比1");
organization.getUserList().add(user1);
organization.getUserList().add(user2);
Map<String,Object> orgMap = new HashMap<String,Object>();
orgMap.put("orgId",organization.getId());
orgMap.put("orgName",organization.getName());
orgMap.put("userList",organization.getUserList());
String json = JSON.toJSONString(orgMap);
System.out.println(json);
}
private static void beanToJson() {
User user = new User();
user.setId(1);
user.setName("測試!!");
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString);
}
private static void jsonToBean() {
User user = new User();
user.setId(1);
user.setName("測試!!");
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString);
User u = JSON.parseObject(jsonString,User.class);
System.out.println(u.toString());
}