Я зашифровал текст открытым ключом, сгенерированным с использованием модуля и экспоненты. Я перешел по этой ссылке: https://meniny.cn/posts/RSA_public_key_with_modulus_and_exponent/
Я хочу расшифровать этот текст с помощью закрытого ключа, сгенерированного с использованием другого модуля и экспоненты.не удалось найти функцию в Swift или Objective-C, которая решает эту проблему.
Поэтому я использую код Java, чтобы получить закрытый ключ в виде String и сгенерировать также файл pem.
Здесьмой код:
let PRIVATE_KEY = "MIGxAgEAMA0GCSqGSIb3DQEBAQUABIGcMIGZAgEAAkBXIKDI5NbyZd/d5tO6djSv\rt8GDc7soyNaqSqZq/w9A/zxiZTA0uwnvYv9E+OXKS9yjPCqpu9d1ELzxQxU9KRFD\rAgEAAkAYEBbX5PvIboJpkrqfIM5kSWfUmj3ygaVn2r4jhtX7qS8+0v09fwifoeMP\r5TgmB2B8+47n8+MQ55/cKbMs2QpBAgEAAgEAAgEAAgEAAgEA\r"
let data = PRIVATE_KEY.data(using: String.Encoding.utf8)!
let priv = data.base64EncodedString()
let keyData = Data(base64Encoded: priv)!
let dict = [
kSecAttrKeyType: kSecAttrKeyTypeRSA,
kSecAttrKeyClass: kSecAttrKeyClassPrivate,
kSecAttrKeySizeInBits : NSNumber(value : 128),
] as [CFString : Any]
let key = SecKeyCreateWithData(keyData as NSData, dict as NSDictionary, nil)
let blockSize = SecKeyGetBlockSize(key!)
var encrypted = [UInt8](repeating: 0, count: blockSize)
var encSize = blockSize
let status = SecKeyDecrypt(key!,
SecPadding.PKCS1, x,
x.count, &encrypted,
&encSize)
let decData = NSData(bytes: &encrypted, length: encrypted.count)
let decString = decData.base64EncodedString(options: NSData.Base64EncodingOptions())
Я всегда получаю ноль для значения ключа.
Я пытался найти решение, но я не могу найти подходящий закрытый ключ для правильного дешифрования моего текста.
Любая помощь, пожалуйста?