秋日雨露 2023-02-26 12:47 采纳率: 0%
浏览 18

iOS16 已弃用 RSA 加密了吗?

最近开发苹果应用,要用到 RSA 加密。

却发现 SecKeyEncrypt 已被 iOS 16 弃用。https://developer.apple.com/documentation/security/1617956-seckeyencrypt

苹果官方文档也没给出替代方案。网上也搜不到相关话题。

真是太奇怪了,难道苹果手机和电脑都不再支持 RSA 加密了吗?

  • 写回答

2条回答 默认 最新

  • GPT_Pro 2023-02-26 13:10
    关注

    该回答内容部分引用GPT,GPT_Pro更好的解决问题
    由于 ios 16 已弃用 RSA 加密,所以苹果手机和电脑可能不再支持 RSA 加密了。这也就意味着在最新版本的 ios 中,无法使用 SecKeyEncrypt 方法来进行 RSA 加密。

    但是,这并不意味着 RSA 加密已经完全失效,而是需要使用者采取其他办法来实现 RSA 加密。例如,可以使用 OpenSSL,一个开源的加密库,来实现 RSA 加密。OpenSSL 也被广泛应用于苹果系统中,因此可以在 iOS 系统中使用。

    下面是一个使用 OpenSSL 实现 RSA 加密的示例代码:

    #include <openssl/rsa.h>
    #include <openssl/pem.h>
    
    /* 产生 1024 位的 RSA key */
    RSA *generateRSAKey(unsigned int bits){
        RSA *rsa = NULL;
        BIGNUM *bne = NULL;
        bne = BN_new();
        int ret = BN_set_word(bne, RSA_F4);
    
        if(ret != 1){
            return NULL;
        }
    
        rsa = RSA_new();
    
        ret = RSA_generate_key_ex(rsa, bits, bne, NULL);
    
        if(ret != 1){
            return NULL;
        }
        
        return rsa;
    }
    

    上面的代码可以帮助我们在 ios 16 中使用 OpenSSL 来实现 RSA 加密。另外,我们也可以选择其他的加密库来实现 RSA 加密,例如 Crypto++、Botan、Libgcrypt、Libsodium 等。所以,即使 ios 16 已弃用 RSA 加密,我们也可以通过其他的方式来实现 RSA 加密。
    如果回答有帮助,望采纳。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月26日

悬赏问题

  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗