Как зашифровать с помощью закрытого ключа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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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