Wednesday, November 16, 2011

[java]如何將字串用SHA-1雜湊演算法加密?

為了要將從手機的IMEI加密接著傳入軟體,寫了以下方法,而以下的方法可以加密任何字串(只要你有需求的話),不過這裡是從取得手機的deviceID開始寫起。

//首先在activity的onCreat()方法中取得deviceID
TelephonyManager info = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);

String tempDeviceID = info.getDeviceId();

//接著將取得的deviceID用SHA-1雜湊演算法重新編碼
MessageDigest md = MessageDigest.getInstance("SHA1");
md.reset();
byte[] buffer = tempDeviceID.getBytes();
md.update(buffer);
byte[] digest = md.digest();

String deviceID = "";
for (int i = 0; i < digest.length; i++) {
    deviceID += Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1);
}

取得的deviceID即為重新加密編碼過的字串。

0 comments:

Post a Comment