update signing mechanism
This commit is contained in:
parent
13200f3f1d
commit
9b0fea6906
@ -62,15 +62,15 @@ public final class Constants {
|
||||
public static final int DM_CHECK_NOTIFICATION_ID = 11;
|
||||
|
||||
// see https://github.com/dilame/instagram-private-api/blob/master/src/core/constants.ts
|
||||
public static final String SUPPORTED_CAPABILITIES = "[ { \"name\": \"SUPPORTED_SDK_VERSIONS\", \"value\":" +
|
||||
" \"13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0," +
|
||||
"32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0," +
|
||||
"52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0\" }, { \"name\": \"FACE_TRACKER_VERSION\", " +
|
||||
"\"value\": 12 }, { \"name\": \"segmentation\", \"value\": \"segmentation_enabled\" }, { \"name\": \"COMPRESSION\", " +
|
||||
"\"value\": \"ETC2_COMPRESSION\" }, { \"name\": \"world_tracker\", \"value\": \"world_tracker_enabled\" }, { \"name\": " +
|
||||
"\"gyroscope\", \"value\": \"gyroscope_enabled\" } ]";
|
||||
public static final String SIGNATURE_VERSION = "4";
|
||||
public static final String SIGNATURE_KEY = "9193488027538fd3450b83b7d05286d4ca9599a0f7eeed90d8c85925698a05dc";
|
||||
// public static final String SUPPORTED_CAPABILITIES = "[ { \"name\": \"SUPPORTED_SDK_VERSIONS\", \"value\":" +
|
||||
// " \"13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0," +
|
||||
// "32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0," +
|
||||
// "52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0\" }, { \"name\": \"FACE_TRACKER_VERSION\", " +
|
||||
// "\"value\": 12 }, { \"name\": \"segmentation\", \"value\": \"segmentation_enabled\" }, { \"name\": \"COMPRESSION\", " +
|
||||
// "\"value\": \"ETC2_COMPRESSION\" }, { \"name\": \"world_tracker\", \"value\": \"world_tracker_enabled\" }, { \"name\": " +
|
||||
// "\"gyroscope\", \"value\": \"gyroscope_enabled\" } ]";
|
||||
// public static final String SIGNATURE_VERSION = "4";
|
||||
// public static final String SIGNATURE_KEY = "9193488027538fd3450b83b7d05286d4ca9599a0f7eeed90d8c85925698a05dc";
|
||||
public static final String BREADCRUMB_KEY = "iN4$aGr0m";
|
||||
public static final int LOGIN_RESULT_CODE = 5000;
|
||||
public static final String FDROID_SHA1_FINGERPRINT = "C1661EB8FD09F618307E687786D5E5056F65084D";
|
||||
|
@ -50,8 +50,8 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.crypto.Mac;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
//import javax.crypto.Mac;
|
||||
//import javax.crypto.spec.SecretKeySpec;
|
||||
|
||||
import awais.instagrabber.R;
|
||||
import awais.instagrabber.models.PostsLayoutPreferences;
|
||||
@ -93,33 +93,34 @@ public final class Utils {
|
||||
}
|
||||
|
||||
public static Map<String, String> sign(final Map<String, Object> form) {
|
||||
final String signed = sign(Constants.SIGNATURE_KEY, new JSONObject(form).toString());
|
||||
if (signed == null) {
|
||||
return null;
|
||||
}
|
||||
// final String signed = sign(Constants.SIGNATURE_KEY, new JSONObject(form).toString());
|
||||
// if (signed == null) {
|
||||
// return null;
|
||||
// }
|
||||
final Map<String, String> map = new HashMap<>();
|
||||
map.put("ig_sig_key_version", Constants.SIGNATURE_VERSION);
|
||||
map.put("signed_body", signed);
|
||||
// map.put("ig_sig_key_version", Constants.SIGNATURE_VERSION);
|
||||
// map.put("signed_body", signed);
|
||||
map.put("signed_body", "SIGNATURE." + new JSONObject(form).toString());
|
||||
return map;
|
||||
}
|
||||
|
||||
public static String sign(final String key, final String message) {
|
||||
try {
|
||||
final Mac hasher = Mac.getInstance("HmacSHA256");
|
||||
hasher.init(new SecretKeySpec(key.getBytes(), "HmacSHA256"));
|
||||
byte[] hash = hasher.doFinal(message.getBytes());
|
||||
final StringBuilder hexString = new StringBuilder();
|
||||
for (byte b : hash) {
|
||||
final String hex = Integer.toHexString(0xff & b);
|
||||
if (hex.length() == 1) hexString.append('0');
|
||||
hexString.append(hex);
|
||||
}
|
||||
return hexString.toString() + "." + message;
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "Error signing", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// public static String sign(final String key, final String message) {
|
||||
// try {
|
||||
// final Mac hasher = Mac.getInstance("HmacSHA256");
|
||||
// hasher.init(new SecretKeySpec(key.getBytes(), "HmacSHA256"));
|
||||
// byte[] hash = hasher.doFinal(message.getBytes());
|
||||
// final StringBuilder hexString = new StringBuilder();
|
||||
// for (byte b : hash) {
|
||||
// final String hex = Integer.toHexString(0xff & b);
|
||||
// if (hex.length() == 1) hexString.append('0');
|
||||
// hexString.append(hex);
|
||||
// }
|
||||
// return hexString.toString() + "." + message;
|
||||
// } catch (Exception e) {
|
||||
// Log.e(TAG, "Error signing", e);
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
|
||||
public static String getMimeType(@NonNull final Uri uri, final ContentResolver contentResolver) {
|
||||
String mimeType;
|
||||
|
Loading…
Reference in New Issue
Block a user