提问人:Satyam 提问时间:9/21/2023 最后编辑:Satyam 更新时间:9/21/2023 访问量:80
在 Swift 中将 RSA 加密块大小增加到 512
Increase the RSA Encryption block size to 512 in Swift
问:
在 Swift 中,我想加密我的文本并发送到服务器。我写了下面的代码来加密。
我正在使用算法SecKeyAlgorithm.rsaEncryptionOAEPSHA512
func encrypt(_ plainText: String) throws -> String {
let plainData = plainText.data(using: .utf8)!
let cfData: CFData = plainData as NSData as CFData
var error: Unmanaged<CFError>?
guard SecKeyIsAlgorithmSupported(publicKey, .encrypt, algorithm) else {
fatalError("Can't use algorithm with this key!")
}
guard let cipherData = SecKeyCreateEncryptedData(publicKey, algorithm, cfData, &error) else {
throw error!.takeRetainedValue() as Error
}
// Convert the encrypted data to a base64 string so it can be easily transmitted or stored
let cipherText = (cipherData as Data).base64EncodedString()
return cipherText
}
我使用和它的打印 256 打印块大小。SecKeyGetBlockSize(publicKey)
如果传递给函数的纯文本小于 256 字节/字符,则代码运行良好。但我的文本长度超过 300 字节。如何增加加密文本的大小以支持此功能?
答: 暂无答案
评论