У меня есть база данных Firebase в реальном времени, связанная с приложением для Android, и я хочу реализовать шифрование RSA на этом.Я сгенерировал пару открытых и закрытых ключей и создал каталог для хранения ключа в базе данных.Мой текущий код выглядит следующим образом:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("Key", KeyPair.publicKey.toString());
FirebaseUser fuser = FirebaseAuth.getInstance().getCurrentUser();
reference.child("Users").child(fuser.getUid()).child("Keys").child("Global").setValue(hashMap);
}
Мой вопрос таков: как хранить этот тип данных RSAPublicKey на сервере, таком как firebase, поскольку база данных не будет принимать этот тип данных без некоторого преобразования, и один разсохранено, как я могу преобразовать его обратно в RSAPublicKey?
Простое использование метода toString позволило получить случайно сгенерированный ключ, сохраняемый как таковой
"OpenSSLRSAPublicKey{modulus=ba38643e16bb79b485fe35996d8f2e012e4417a202583cd31253f10232cf1fe4095d71a9b0fe43260fb17e9c79e1772c1f34ff6894be904fefebf95648c57c8a6633e36e9dbefe74f08ffe2432a8e35455d94cfd4fabd7a3f27d391e360a1e26e522a729a293f0db63e1ea9851ae4f793e72ec5ed58ea4e5a0b01de31c08272dfe664abb3b4cc84af0c300527a323af3533d6468384b98bfb2a9f8356e2f15b15116ac0729e79750c5f02bbfd277f148f8994be59967f4a8aa312437390f8160d19c740258b0c8ee7bff1cf06058a4d11d385e9e0a3b48fb0849506cfcedcbd8435e4bcfc66d86752eeaa46d6624d18413d8cb57b455e95824fd87fd04a5cae9,publicExponent=10001}"
Могу ли я просто сослаться на это и преобразовать его обратно вRSAPublicKey?если да, то как?