Как зашифровать с помощью закрытого ключаAndroid

Форум для тех, кто программирует под Android
Anonymous
Как зашифровать с помощью закрытого ключа

Сообщение Anonymous »

У меня есть файл закрытого ключа, который выглядит следующим образом
-----НАЧАЛО ЧАСТНОГО КЛЮЧА -----
[content]
----- КОНЕЦ ЧАСТНОГО КЛЮЧА -----
Я хочу зашифровать строковые данные с помощью этого ключа
Я пытаюсь вот так:
fun encryptData(txt: String, pk: String): String {
var encoded = ""
var encrypted: ByteArray? = null
try {
val publicBytes: ByteArray = Base64.decode(pk, Base64.DEFAULT)
val keySpec = X509EncodedKeySpec(publicBytes)
val keyFactory: KeyFactory = KeyFactory.getInstance("RSA")
val pubKey: PrivateKey = keyFactory.generatePrivate(keySpec)
val cipher: Cipher = Cipher.getInstance("RSA/ECB/PKCS1PADDING")
cipher.init(Cipher.ENCRYPT_MODE, pubKey)
encrypted = cipher.doFinal(txt.toByteArray())
encoded = Base64.encodeToString(encrypted, Base64.DEFAULT)
} catch (e: Exception) {
e.printStackTrace()
}
return encoded
}

я получаю исключение InvalidKeySpecException каждый раз, когда пытаюсь закодировать
can someone help ?


Подробнее здесь: https://stackoverflow.com/questions/747 ... rivate-key

Вернуться в «Android»