繁体   English   中英

swift ios 8.0 RSA 加密(已知公钥)

[英]swift ios 8.0 RSA encryption (known publicKey)

我正在尝试用 RSA 加密一个字符串,我已经从服务器获得了一个 publicKey(String type)。 如何在没有“SecKeyCreateWithData”的情况下获取 secKey,因为此方法仅支持 ios10+ ? 但是必须支持ios8.0+。

   if #available(iOS 10.0, *) {
        guard let secKey = SecKeyCreateWithData(data as CFData, attributes, &error) else {
            print(error.debugDescription)
            return nil
        }
    } else {
        //how can I do here?
    }

CoreCrypto and Security似乎只从iOS 10开始支持(如您CoreCrypto )。

您有两个选择:

1)手动生成RSA组件,滚动你自己的实现(建议你避免这种方法)。

2) 切换到现代跨平台加密库,例如 libsodium。 (不支持 RSA,所有基于 EC 的非对称加密)。

Apple 也有CryptoKit但不支持 < iOS 13

如果您添加一些有关您的用例的额外信息,我会很乐意建议更多选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM