Skip to content

Commit

Permalink
Fix Threads device ID
Browse files Browse the repository at this point in the history
  • Loading branch information
Ziedelth committed May 22, 2024
1 parent e053f7f commit 6181bc6
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
6 changes: 6 additions & 0 deletions src/main/kotlin/fr/shikkanime/utils/EncryptionManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,10 @@ object EncryptionManager {
val hash = digest.digest(source.toByteArray(StandardCharsets.UTF_8))
return hash.fold("") { str, it -> str + "%02x".format(it) }
}

fun toMD5(source: String): String {
val digest = MessageDigest.getInstance("MD5") // NOSONAR
val hash = digest.digest(source.toByteArray(StandardCharsets.UTF_8))
return hash.fold("") { str, it -> str + "%02x".format(it) }
}
}
4 changes: 2 additions & 2 deletions src/main/kotlin/fr/shikkanime/wrappers/ThreadsWrapper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,9 @@ class ThreadsWrapper(
}

fun generateDeviceId(username: String, password: String): String {
val seed: String = EncryptionManager.toSHA512(username + password)
val seed: String = EncryptionManager.toMD5(username + password)
val volatileSeed = "12345"
return "android-" + EncryptionManager.toSHA512(seed + volatileSeed).substring(0, 16)
return "android-" + EncryptionManager.toMD5(seed + volatileSeed).substring(0, 16)
}

suspend fun login(deviceId: String, username: String, password: String): Pair<String, String> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class ThreadsWrapperTest {
fun generateDeviceId() {
val username = "Hello"
val password = "World!"
assertEquals("android-da88e3773489b230", threadsWrapper.generateDeviceId(username, password))
assertEquals("android-6f36600bd3a8126c", threadsWrapper.generateDeviceId(username, password))
}

@Test
Expand Down

0 comments on commit 6181bc6

Please sign in to comment.