From d4b8455d4f274b08c32f444a1dae109739f64135 Mon Sep 17 00:00:00 2001
From: Taras <tarassmakula@gmail.com>
Date: Mon, 27 Jun 2022 17:07:42 +0300
Subject: [PATCH] Add retrievePrivateKeyWithPassword to bcryptManager

---
 .../sdk/internal/crypto/keysbackup/BCryptManager.kt        | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/BCryptManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/BCryptManager.kt
index 378cc245..4336db4f 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/BCryptManager.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/BCryptManager.kt
@@ -8,7 +8,6 @@ internal object BCryptManager {
     private const val iterations = 14
     private const val saltLength = 16
 
-
     fun generateBcryptPrivateKeyWithPassword(
         userName: String,
         password: String
@@ -18,10 +17,14 @@ internal object BCryptManager {
         return GeneratePrivateKeyResult(privateKey, salt.toString(), iterations)
     }
 
+    fun retrievePrivateKeyWithPassword(
+        password: String,
+        salt: String,
+        iterations: Int
+    ): ByteArray = BCrypt.withDefaults().hash(iterations, salt.toByteArray(), password.toByteArray())
 
     private fun String.sha256(): String = MessageDigest
         .getInstance("SHA-256")
         .digest(this.toByteArray())
         .fold("") { str, it -> str + "%02x".format(it) }
-
 }
\ No newline at end of file
-- 
GitLab