2014年12月3日 星期三

[Android] SHA-256加密

SHA-256  的加密方式,是andorid裡面自己就有先寫好的一個方法,但是就是要去呼叫來做執行,他是此方法不能反編譯,所以你如果想驗證自己加密的東西是否是對方想要的,就只能找另一個人做編譯來確認。


public String getDataHash(String Gkey,String AppDataJson){
//得到毫秒数
Date curDate = new Date();
TimeStamp = String.valueOf(curDate.getTime());
   
    String dataStructure = Gkey + TimeStamp + AppDataJson;
    
    MessageDigest shaCode = null;
    try {
    shaCode = MessageDigest.getInstance("SHA-256");
shaCode.update(dataStructure.getBytes());
System.out.println("dataStructure="+dataStructure);
    }
    catch(Exception e) {
    e.printStackTrace();
    return "";
    }
    return byte2Hex(shaCode.digest());
}

private static String byte2Hex(byte[] data) {
String hexString = "";
String stmp = "";

for(int i = 0; i < data.length; i++) {
stmp = Integer.toHexString(data[i] & 0XFF);

if(stmp.length() == 1) {
hexString = hexString + "0" + stmp;
}
else {
hexString = hexString + stmp;
}
}
return hexString.toUpperCase();
}

沒有留言:

張貼留言