이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
RSA는 전자 상거래 프로토콜에서 널리 사용되는 공개 키 암호화 알고리즘입니다. 이는 알려진 효율적인 솔루션이 없는 문제인 큰 정수를 인수분해하는 것의 어려움을 기반으로 합니다. RSA는 디지털 서명, 키 교환, 이메일 암호화를 비롯한 다양한 애플리케이션에 사용됩니다.
Kotlin은 JVM(Java Virtual Machine)에서 실행되는 정적으로 유형이 지정된 프로그래밍 언어입니다. Android 애플리케이션, 서버측 애플리케이션 및 명령줄 도구를 개발하는 데 사용됩니다. Kotlin은 Java와 완벽하게 호환되며 객체 지향 코드와 기능 코드를 모두 작성하는 데 사용할 수 있습니다.
Kotlin은 정확하고 유지 관리 가능한 코드를 쉽게 작성할 수 있게 해주는 매우 간결하고 읽기 쉬운 언어입니다. 또한 Java와 완벽하게 호환되므로 모든 Java 프로젝트에서 Kotlin 코드를 사용할 수 있습니다. Kotlin과 Java의 상호 운용성은 Android 애플리케이션에서 RSA를 구현하는 데 이상적인 선택입니다.
RSA 키는 java.security.KeyPairGenerator
클래스를 사용하여 Kotlin에서 생성할 수 있습니다. 다음 코드 스니펫은 2048비트 키 크기로 RSA 키 쌍을 생성하는 방법을 보여줍니다.
import java.security.KeyPairGenerator
fun main(args: Array<String>) {
val keyPairGenerator = KeyPairGenerator.getInstance("RSA")
keyPairGenerator.initialize(2048)
val keyPair = keyPairGenerator.generateKeyPair()
}
RSA는 java.security.Signature
클래스를 사용하여 Kotlin에서 데이터에 서명하는 데 사용할 수 있습니다. 다음 코드 스니펫은 RSA 개인 키로 바이트 배열에 서명하는 방법을 보여줍니다.
java.security.KeyFactory 가져오기
java.security.Signature 가져오기
java.security.spec.PKCS8EncodedKeySpec 가져오기
fun main(args: Array<String>) {
값 데이터 = byteArrayOf(1, 2, 3)
val keyFactory = KeyFactory.getInstance("RSA")
val privateKey = keyFactory.generatePrivate(
PKCS8EncodedKeySpec(
Base64.decode("MIICXAIBAAKBgQDdlatRjRjog7jyKpV3RTjyp/1e3QGeRji6aivW1CpikpX9XZ2ypoYW/PQvl0w8FLhYVZK7eLjA1ZT5ZK2M/PX/qTcFKs7ic+Fgq4Rq+rCK+Oj4n2h4RgBhXQ5/RBZx6ryaohT378+X+o8h6EQzNxeqrZD7HzlZYWYl/6nCZ6KLwIDAQABAoGAD+onAtVye4ic7VR7V50DF9bOnwRwNXrARcDhq9LWNRrRGElESYYTQ6EbatXS3MCyjjX2eMhu/aF5YhXBwkppwxg+EOmXeh+MzL7ZhqOJnTPqvJL4fyqEAwVCwQWq/