From ca219fd821c53a85c6808579f91517f09c8ddb3f Mon Sep 17 00:00:00 2001 From: k1ngsterr1 Date: Sat, 10 Jan 2026 23:33:23 +0500 Subject: [PATCH] feat: Replace ProtocolManager logging with Android Log for ECDH encryption process --- .../rosetta/messenger/crypto/MessageCrypto.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/rosetta/messenger/crypto/MessageCrypto.kt b/app/src/main/java/com/rosetta/messenger/crypto/MessageCrypto.kt index d1b448d..eaf2135 100644 --- a/app/src/main/java/com/rosetta/messenger/crypto/MessageCrypto.kt +++ b/app/src/main/java/com/rosetta/messenger/crypto/MessageCrypto.kt @@ -303,8 +303,8 @@ object MessageCrypto { secureRandom.nextBytes(iv) val ivHex = iv.toHex() - // Шифруем keyAndNonce с AES-CBC используя sharedSecret как ключ - // ВАЖНО: Используем сам sharedSecret напрямую (32 байта) без SHA-256! + // Шифруем keyAndNonce напрямую с AES-CBC используя sharedSecret как ключ + // React Native теперь использует crypto.enc.Latin1 для binary data val aesKey = SecretKeySpec(sharedSecret, "AES") val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding") cipher.init(Cipher.ENCRYPT_MODE, aesKey, IvParameterSpec(iv)) @@ -314,11 +314,11 @@ object MessageCrypto { // Формат как в RN: btoa(ivHex:encryptedHex:ephemeralPrivateHex) val combined = "$ivHex:$encryptedKeyHex:$ephemeralPrivateKeyHex" - ProtocolManager.addLog("🔐 ECDH Encrypt:") - ProtocolManager.addLog(" - Shared secret: ${sharedSecretHex.take(40)}...") - ProtocolManager.addLog(" - IV: ${ivHex.take(32)}...") - ProtocolManager.addLog(" - Ephemeral private: ${ephemeralPrivateKeyHex.take(40)}...") - ProtocolManager.addLog(" - Recipient public: ${recipientPublicKeyHex.take(40)}...") + android.util.Log.d("MessageCrypto", "🔐 ECDH Encrypt:") + android.util.Log.d("MessageCrypto", " - Shared secret: ${sharedSecretHex.take(40)}...") + android.util.Log.d("MessageCrypto", " - IV: ${ivHex.take(32)}...") + android.util.Log.d("MessageCrypto", " - Ephemeral private: ${ephemeralPrivateKeyHex.take(40)}...") + android.util.Log.d("MessageCrypto", " - Recipient public: ${recipientPublicKeyHex.take(40)}...") return Base64.encodeToString(combined.toByteArray(), Base64.NO_WRAP) } @@ -390,7 +390,7 @@ object MessageCrypto { android.util.Log.d("MessageCrypto", "✅ Encrypted key length: ${encryptedKey.length}") android.util.Log.d("MessageCrypto", "🔐 === ENCRYPTION COMPLETE ===") - return Pair(encrypted.ciphertext, encryptedKey) + return kotlin.Pair(encrypted.ciphertext, encryptedKey) } /**