From 047eaa2f59b66b9202541ec0220dd74b543332d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D1=8B=D1=82=D0=BA=D0=BE=D0=B2=20=D0=A0=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=BD?= Date: Sat, 18 Apr 2026 22:24:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88?= =?UTF-8?q?=D0=B0=D1=8F=20=D1=87=D0=B8=D1=81=D1=82=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nullptroma/wallenc/domain/encrypt/Encryptor.kt | 12 ++++++------ .../wallenc/domain/encrypt/EncryptorWithStaticIv.kt | 4 ++-- .../wallenc/domain/interfaces/IUnlockManager.kt | 2 +- .../nullptroma/wallenc/domain/EncryptorTest.kt | 6 +++--- .../wallenc/presentation/screens/ScreenRoute.kt | 2 +- .../wallenc/presentation/screens/main/MainScreen.kt | 1 - .../main/screens/remotes/RemoteVaultsViewModel.kt | 4 +--- .../screens/settings/SettingsViewModel.kt | 3 +-- 8 files changed, 15 insertions(+), 19 deletions(-) diff --git a/domain/src/main/java/com/github/nullptroma/wallenc/domain/encrypt/Encryptor.kt b/domain/src/main/java/com/github/nullptroma/wallenc/domain/encrypt/Encryptor.kt index bf0c605..58168b1 100644 --- a/domain/src/main/java/com/github/nullptroma/wallenc/domain/encrypt/Encryptor.kt +++ b/domain/src/main/java/com/github/nullptroma/wallenc/domain/encrypt/Encryptor.kt @@ -19,12 +19,12 @@ class Encryptor(private var secretKey: SecretKey) : DisposableHandle { fun encryptString(str: String): String { val bytesToEncrypt = str.toByteArray(Charsets.UTF_8) val encryptedBytes = encryptBytes(bytesToEncrypt) - return Base64.Default.encode(encryptedBytes).replace("/", ".") + return Base64.encode(encryptedBytes).replace("/", ".") } @OptIn(ExperimentalEncodingApi::class) fun decryptString(str: String): String { - val bytesToDecrypt = Base64.Default.decode(str.replace(".", "/")) + val bytesToDecrypt = Base64.decode(str.replace(".", "/")) val decryptedBytes = decryptBytes(bytesToDecrypt) return String(decryptedBytes, Charsets.UTF_8) } @@ -78,8 +78,8 @@ class Encryptor(private var secretKey: SecretKey) : DisposableHandle { } companion object { - public const val IV_LEN = 16 - public const val AES_SETTINGS = "AES/CBC/PKCS5Padding" + const val IV_LEN = 16 + const val AES_SETTINGS = "AES/CBC/PKCS5Padding" private const val TEST_DATA_LEN = 512 @OptIn(ExperimentalEncodingApi::class) @@ -88,7 +88,7 @@ class Encryptor(private var secretKey: SecretKey) : DisposableHandle { val testData = ByteArray(TEST_DATA_LEN) val encryptedData = encryptor.encryptBytes(testData) return StorageEncryptionInfo( - encryptedTestData = Base64.Default.encode(encryptedData), + encryptedTestData = Base64.encode(encryptedData), pathIv = if(encryptPath) Random.nextBytes(IV_LEN) else null ) } @@ -97,7 +97,7 @@ class Encryptor(private var secretKey: SecretKey) : DisposableHandle { fun checkKey(key: EncryptKey, encInfo: StorageEncryptionInfo): Boolean { val encryptor = Encryptor(key.toAesKey()) try { - val encData = Base64.Default.decode(encInfo.encryptedTestData) + val encData = Base64.decode(encInfo.encryptedTestData) val testData = encryptor.decryptBytes(encData) return testData.all { it == 0.toByte() } && testData.size == TEST_DATA_LEN } diff --git a/domain/src/main/java/com/github/nullptroma/wallenc/domain/encrypt/EncryptorWithStaticIv.kt b/domain/src/main/java/com/github/nullptroma/wallenc/domain/encrypt/EncryptorWithStaticIv.kt index c6fa9e9..a6902e6 100644 --- a/domain/src/main/java/com/github/nullptroma/wallenc/domain/encrypt/EncryptorWithStaticIv.kt +++ b/domain/src/main/java/com/github/nullptroma/wallenc/domain/encrypt/EncryptorWithStaticIv.kt @@ -23,12 +23,12 @@ class EncryptorWithStaticIv(private var secretKey: SecretKey, iv: ByteArray) : D fun encryptString(str: String): String { val bytesToEncrypt = str.toByteArray(Charsets.UTF_8) val encryptedBytes = encryptBytes(bytesToEncrypt) - return Base64.Default.encode(encryptedBytes).replace("/", ".") + return Base64.encode(encryptedBytes).replace("/", ".") } @OptIn(ExperimentalEncodingApi::class) fun decryptString(str: String): String { - val bytesToDecrypt = Base64.Default.decode(str.replace(".", "/")) + val bytesToDecrypt = Base64.decode(str.replace(".", "/")) val decryptedBytes = decryptBytes(bytesToDecrypt) return String(decryptedBytes, Charsets.UTF_8) } diff --git a/domain/src/main/java/com/github/nullptroma/wallenc/domain/interfaces/IUnlockManager.kt b/domain/src/main/java/com/github/nullptroma/wallenc/domain/interfaces/IUnlockManager.kt index d5b6af2..e79f272 100644 --- a/domain/src/main/java/com/github/nullptroma/wallenc/domain/interfaces/IUnlockManager.kt +++ b/domain/src/main/java/com/github/nullptroma/wallenc/domain/interfaces/IUnlockManager.kt @@ -16,5 +16,5 @@ interface IUnlockManager { suspend fun open(storage: IStorage, key: EncryptKey, rememberPassword: Boolean = true): IStorage suspend fun close(storage: IStorage) - suspend fun close(uuid: UUID): Unit + suspend fun close(uuid: UUID) } \ No newline at end of file diff --git a/domain/src/test/java/com/github/nullptroma/wallenc/domain/EncryptorTest.kt b/domain/src/test/java/com/github/nullptroma/wallenc/domain/EncryptorTest.kt index 76215dd..25583c3 100644 --- a/domain/src/test/java/com/github/nullptroma/wallenc/domain/EncryptorTest.kt +++ b/domain/src/test/java/com/github/nullptroma/wallenc/domain/EncryptorTest.kt @@ -53,7 +53,7 @@ class EncryptorTest { val newEncryptor = Encryptor(key2.toAesKey()) try { - val decryptedText = newEncryptor.decryptString(encryptedText) + newEncryptor.decryptString(encryptedText) fail("There is not exception on decrypt with wrong key") } catch (e: Exception) { @@ -84,7 +84,7 @@ class EncryptorTest { val newEncryptor = Encryptor(key2.toAesKey()) try { - val decryptedBytes = newEncryptor.decryptBytes(encryptedBytes) + newEncryptor.decryptBytes(encryptedBytes) fail("There is not exception on decrypt with wrong key") } catch (e: Exception) { @@ -130,7 +130,7 @@ class EncryptorTest { try { val streamForDecrypt = ByteArrayInputStream(encryptedData) val decryptedStream = newEncryptor.decryptStream(streamForDecrypt) - val decryptedData = decryptedStream.readAllBytes() + decryptedStream.readAllBytes() fail("There is not exception on decrypt with wrong key") } catch (e: Exception) { diff --git a/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/ScreenRoute.kt b/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/ScreenRoute.kt index 5db3b96..3091276 100644 --- a/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/ScreenRoute.kt +++ b/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/ScreenRoute.kt @@ -4,4 +4,4 @@ import android.os.Parcelable import kotlinx.serialization.Serializable @Serializable -abstract class ScreenRoute() : Parcelable \ No newline at end of file +abstract class ScreenRoute : Parcelable \ No newline at end of file diff --git a/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/main/MainScreen.kt b/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/main/MainScreen.kt index acaf60d..d150bde 100644 --- a/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/main/MainScreen.kt +++ b/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/main/MainScreen.kt @@ -98,7 +98,6 @@ fun MainScreen( }, exitTransition = { fadeOut(tween(200)) }) { - val route: LocalVaultRoute = it.toRoute() LocalVaultScreen( modifier = Modifier.padding(innerPaddings), viewModel = localVaultViewModel, diff --git a/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/main/screens/remotes/RemoteVaultsViewModel.kt b/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/main/screens/remotes/RemoteVaultsViewModel.kt index ca94c35..3b51507 100644 --- a/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/main/screens/remotes/RemoteVaultsViewModel.kt +++ b/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/main/screens/remotes/RemoteVaultsViewModel.kt @@ -6,6 +6,4 @@ import javax.inject.Inject @HiltViewModel class RemoteVaultsViewModel @Inject constructor() : - ViewModelBase(RemoteVaultsScreenState()) { - -} \ No newline at end of file + ViewModelBase(RemoteVaultsScreenState()) \ No newline at end of file diff --git a/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/settings/SettingsViewModel.kt b/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/settings/SettingsViewModel.kt index 9ba5264..81a4679 100644 --- a/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/settings/SettingsViewModel.kt +++ b/presentation/src/main/java/com/github/nullptroma/wallenc/presentation/screens/settings/SettingsViewModel.kt @@ -5,5 +5,4 @@ import dagger.hilt.android.lifecycle.HiltViewModel @HiltViewModel class SettingsViewModel @javax.inject.Inject constructor() : - ViewModelBase(SettingsScreenState()) { -} \ No newline at end of file + ViewModelBase(SettingsScreenState()) \ No newline at end of file