From d8fffbb4026565dc6eee1ae7eb13f259f04521bd Mon Sep 17 00:00:00 2001 From: Li ZongYing Date: Sat, 16 Dec 2023 08:19:02 +0800 Subject: [PATCH] optimize ysp --- app/src/main/java/com/lizongying/mytv/Request.kt | 11 ++++++----- app/src/main/java/com/lizongying/mytv/api/YSP.kt | 5 ++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/lizongying/mytv/Request.kt b/app/src/main/java/com/lizongying/mytv/Request.kt index 5b132d0..bef780f 100644 --- a/app/src/main/java/com/lizongying/mytv/Request.kt +++ b/app/src/main/java/com/lizongying/mytv/Request.kt @@ -100,6 +100,7 @@ class Request(var context: Context) { val matchResult = regex.find(decodedString) var keyBytes = byteArrayOf() var ivBytes = byteArrayOf() + if (matchResult != null) { val (key, iv) = matchResult.destructured keyBytes = Base64.decode(key, Base64.DEFAULT) @@ -107,9 +108,9 @@ class Request(var context: Context) { } tvModel.updateVideoUrlByYSP( liveInfo.data.playurl + "&revoi=" + encryptTripleDES( - keyBytes, + keyBytes + byteArrayOf(0, 0, 0, 0, 0, 0, 0, 0), ivBytes - ) + ).uppercase() ) } } @@ -177,15 +178,15 @@ class Request(var context: Context) { } private fun encryptTripleDES(key: ByteArray, iv: ByteArray): String { - val plaintext = + var plaintext = """{"mver":"1","subver":"1.2","host":"www.yangshipin.cn/#/tv/home?pid=","referer":"","canvas":"YSPANGLE(Apple,AppleM1Pro,OpenGL4.1)"}""" return try { val keySpec = SecretKeySpec(key, "DESede") val ivSpec = IvParameterSpec(iv) - val cipher = Cipher.getInstance("DESede/CBC/PKCS7Padding") + val cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding") cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec) val encryptedBytes = cipher.doFinal(plaintext.toByteArray()) - encryptedBytes.let { it -> it.joinToString("") { "%02x".format(it) } } + return encryptedBytes.let { it -> it.joinToString("") { "%02x".format(it) } } } catch (e: Exception) { e.printStackTrace() "" diff --git a/app/src/main/java/com/lizongying/mytv/api/YSP.kt b/app/src/main/java/com/lizongying/mytv/api/YSP.kt index d117d5d..4117028 100644 --- a/app/src/main/java/com/lizongying/mytv/api/YSP.kt +++ b/app/src/main/java/com/lizongying/mytv/api/YSP.kt @@ -68,7 +68,7 @@ class YSP(var context: Context) { cnlid = tvModel.getTV().sid defn = "fhd" - guid = getGuid() +// guid = getGuid() randStr = getRand() timeStr = getTimeStr() @@ -80,7 +80,6 @@ class YSP(var context: Context) { encryptor!!.encrypt(cnlid, timeStr, appVer, guid, platform) signature = getSignature() return """{"cnlid":"$cnlid","livepid":"$livepid","stream":"$stream","guid":"$guid","cKey":"$cKey","adjust":$adjust,"sphttps":"$sphttps","platform":"$platform","cmd":"$cmd","encryptVer":"$encryptVer","dtype":"$dtype","devid":"$devid","otype":"$otype","appVer":"$appVer","app_version":"$appVersion","rand_str":"$randStr","channel":"$channel","defn":"$defn","signature":"$signature"}""" - } private fun getTimeStr(): String { @@ -100,7 +99,7 @@ class YSP(var context: Context) { } private fun getGuid(): String { -// var guid = sharedPref?.getString("guid", "").toString() + var guid = sharedPref?.getString("guid", "").toString() if (guid == "") { guid = generateGuid() with(sharedPref!!.edit()) {