2014-09-26 41 views
0

串在Android上時遇到問題,我收到以下錯誤,當我嘗試md5字符串:試圖MD5在android系統

"Performing stop of activity that is not resumed" 

我需要將md5附加到URL。

請幫

// MD5碼

消息摘要消化;

try { 
     digest = MessageDigest.getInstance("MD5"); 
     digest.reset(); 
     digest.update(text.getBytes()); 
     byte[] a = digest.digest(); 
     int len = a.length; 
     StringBuilder sb = new StringBuilder(len << 1); 
     for (int i = 0; i < len; i++) { 
      sb.append(Character.forDigit((a[i] & 0xf0) >> 4, 16)); 
      sb.append(Character.forDigit(a[i] & 0x0f, 16)); 
     } 
     return sb.toString(); 
    } catch (NoSuchAlgorithmException e) { 

// e.printStackTrace(); }

//請求代碼 encryptedTaskId = MDConversion.MD5(taskId);

  Log.v("inside doInBackground :: ", "inside doInBackground :: "); 
      totalUrl = baseUrl + "&access_token=" + accessToken + "&id=" + encryptedTaskId; 

      Log.v("fetch users to forward task url :: ", "url :: "+totalUrl); 

      HttpGet get = new HttpGet(totalUrl); 
      HttpClient client = new DefaultHttpClient(); 
      HttpResponse response; 

      response = client.execute(get); 
+1

您能讓我們的代碼? – Android 2014-09-26 09:36:06

回答

0

嘗試使用這個靜態函數:

public static final String md5(final String toEncrypt) { 
    try { 
     final MessageDigest digest = MessageDigest.getInstance("md5"); 
     digest.update(toEncrypt.getBytes()); 
     final byte[] bytes = digest.digest(); 
     final StringBuilder sb = new StringBuilder(); 
     for (int i = 0; i < bytes.length; i++) { 
      sb.append(String.format("%02X", bytes[i])); 
     } 
     return sb.toString().toLowerCase(); 
    } catch (Exception exc) { 
     return ""; // Impossibru! 
    } 
} 
+0

我已經在使用這個。我的問題是,當我這樣做是得到上述錯誤。執行在該行停止 – user3008777 2014-09-26 10:14:08

+0

小心向我們展示如何調用md5函數並將其附加到URL? – 2014-09-26 10:25:11

+0

encryptedTaskId = MDConversion.MD5(taskId); – user3008777 2014-09-26 10:33:29