开发者社区> 问答> 正文

IOS RSA解密 用私钥还是公钥

做app后台对接,用RSA加解密。后台返回数据用私钥加密,然后IOS端会用公钥解密。但是IOS的哥们说他用公钥解密有问题,要用私钥来解密。可我认为,RSA在服务端存私钥,如果在客户端也存私钥,那不就不符合RSA做法的初衷了吗?所以,这里问下,在IOS存私钥用来解密是不是不好,不安全?如果我认为的是正确的,应该怎么说服他?

展开
收起
杨冬芳 2016-06-24 14:52:08 3243 0
1 条回答
写回答
取消 提交回答
  • IT从业

    一般是 公钥加密 私钥解密

    我觉得题主说使用的场景就有问题 你服务端返回的信息 这种场景你私钥放哪都用处不大了 因为你用私钥在服务端加密 客户端拿公钥可以随意解密 如果你公钥加密私钥放到客户端 有心人通过逆向客户端代码私钥就泄漏了 不知道你们这是在干什么

    通常的情况都在客户端请求服务端的时候对用公钥对请求参数进行加密 而服务端用私钥解密 想窃取服务端的私钥 有点难吧 这才是合理的应用场景吧 你服务端返回的信息真心没必要加密 而客户端的请求一定要加密!!!
    1、用公钥加密,用私钥解密。

    2、给别人发信息,就从服务器上拉下来别人的公钥,加密后发给他。

    3、对方拿到信息后用自己的私钥解密。

    4、这样,公钥加密后除了私钥持有人,别人都看不到信息。

    5、若是用私钥加密,那么公钥都能解密,还有何安全性可言?

    6、私钥加密的场合只有一个,那就是数字签名,用来表明这个信息来源于你。
    你们这种每次rsa加解密也是蛋疼的很(rsa是很消耗性能的啊),http://ju.outofmemory.cn/entry/203583 这篇文章自己看看,这也只是讲了一个大概,更好的自行google

    2019-07-17 19:46:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载

相关实验场景

更多