Консольное приложение Kotlin: Base64.decode(iv, Base64.ПО УМОЛЧАНИЮ) дает неразрешенную ссылку: декодировать

#kotlin

#котлин

Вопрос:

Я пишу дешифратор Kotlin AES, и из-за этого я использую функцию Base64.decode. Однако я не могу решить проблему ссылочной ошибки класса Base64. Это не приложение для Android, а консольное приложение Kotlin, которое я запускаю на своей машине с Windows в IntelliJ.

  • Котлин 1.6
  • IDE: IntelliJ 2021.2.3
  • JVM 1.6.0
  • jvmTarget 1.8

Мой код:

 import java.util.* import javax.crypto.spec.IvParameterSpec  class test {  fun test(){  val ivParameterSpec = IvParameterSpec(Base64.decode("iv", Base64.DEFAULT))  } }  

Я тоже пытался:

 import java.util.Base64 import javax.crypto.spec.IvParameterSpec  class test {  fun test(){  val ivParameterSpec = IvParameterSpec(Base64.decode("iv", Base64.DEFAULT))  } }  

Оба дают ошибку:

Неразрешенная ссылка: расшифровать’

и

Неразрешенная ссылка: ПО УМОЛЧАНИЮ

Ответ №1:

Base64.decode принадлежит android.util пакету, который вы можете использовать только в приложении для Android.

Для использования Base64 декодера в intellij проекте kotlin используйте Base64 декодер, входящий в java.util комплект поставки.

 Base64.getDecoder().decode("iv")  

Комментарии:

1. Спасибо. И знаете ли вы, что делать со второй частью «Base64.DEFAULT» ?

2. Тебе не нужна эта часть. Он уже работает в этом режиме.