Loading services/usb/java/com/android/server/usb/UsbDebuggingManager.java +18 −4 Original line number Original line Diff line number Diff line Loading @@ -207,7 +207,12 @@ public class UsbDebuggingManager implements Runnable { case MESSAGE_ADB_CONFIRM: { case MESSAGE_ADB_CONFIRM: { String key = (String)msg.obj; String key = (String)msg.obj; mFingerprints = getFingerprints(key); String fingerprints = getFingerprints(key); if ("".equals(fingerprints)) { sendResponse("NO"); break; } mFingerprints = fingerprints; startConfirmation(key, mFingerprints); startConfirmation(key, mFingerprints); break; break; } } Loading @@ -224,16 +229,25 @@ public class UsbDebuggingManager implements Runnable { StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder(); MessageDigest digester; MessageDigest digester; if (key == null) { return ""; } try { try { digester = MessageDigest.getInstance("MD5"); digester = MessageDigest.getInstance("MD5"); } catch (Exception ex) { } catch (Exception ex) { Slog.e(TAG, "Error getting digester: " + ex); Slog.e(TAG, "Error getting digester", ex); return ""; return ""; } } byte[] base64_data = key.split("\\s+")[0].getBytes(); byte[] base64_data = key.split("\\s+")[0].getBytes(); byte[] digest = digester.digest(Base64.decode(base64_data, Base64.DEFAULT)); byte[] digest; try { digest = digester.digest(Base64.decode(base64_data, Base64.DEFAULT)); } catch (IllegalArgumentException e) { Slog.e(TAG, "error doing base64 decoding", e); return ""; } for (int i = 0; i < digest.length; i++) { for (int i = 0; i < digest.length; i++) { sb.append(hex.charAt((digest[i] >> 4) & 0xf)); sb.append(hex.charAt((digest[i] >> 4) & 0xf)); sb.append(hex.charAt(digest[i] & 0xf)); sb.append(hex.charAt(digest[i] & 0xf)); Loading Loading
services/usb/java/com/android/server/usb/UsbDebuggingManager.java +18 −4 Original line number Original line Diff line number Diff line Loading @@ -207,7 +207,12 @@ public class UsbDebuggingManager implements Runnable { case MESSAGE_ADB_CONFIRM: { case MESSAGE_ADB_CONFIRM: { String key = (String)msg.obj; String key = (String)msg.obj; mFingerprints = getFingerprints(key); String fingerprints = getFingerprints(key); if ("".equals(fingerprints)) { sendResponse("NO"); break; } mFingerprints = fingerprints; startConfirmation(key, mFingerprints); startConfirmation(key, mFingerprints); break; break; } } Loading @@ -224,16 +229,25 @@ public class UsbDebuggingManager implements Runnable { StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder(); MessageDigest digester; MessageDigest digester; if (key == null) { return ""; } try { try { digester = MessageDigest.getInstance("MD5"); digester = MessageDigest.getInstance("MD5"); } catch (Exception ex) { } catch (Exception ex) { Slog.e(TAG, "Error getting digester: " + ex); Slog.e(TAG, "Error getting digester", ex); return ""; return ""; } } byte[] base64_data = key.split("\\s+")[0].getBytes(); byte[] base64_data = key.split("\\s+")[0].getBytes(); byte[] digest = digester.digest(Base64.decode(base64_data, Base64.DEFAULT)); byte[] digest; try { digest = digester.digest(Base64.decode(base64_data, Base64.DEFAULT)); } catch (IllegalArgumentException e) { Slog.e(TAG, "error doing base64 decoding", e); return ""; } for (int i = 0; i < digest.length; i++) { for (int i = 0; i < digest.length; i++) { sb.append(hex.charAt((digest[i] >> 4) & 0xf)); sb.append(hex.charAt((digest[i] >> 4) & 0xf)); sb.append(hex.charAt(digest[i] & 0xf)); sb.append(hex.charAt(digest[i] & 0xf)); Loading