ios RSA加密解密一些相关问题

前言:

最近在做一个类似支付宝的理财项目,涉及到了RSA加解密方面的知识,在这里也遇到了不少的问题。写出来与大家分享心得。

1、什么是RSA加密解密(ios RSA加密解密过程)

      这些网上都说的很清楚,大家可以从网上查找一下。

      理论上是可以用公钥加密,私钥解密,或者是私钥加密,公钥解密。

      我的理解是:A向B请求数据:A把自己的信息用私钥签名,并且把自己的公钥传送给B,

                           B受到A的数据:B将A的公钥取出,并且用A的公钥确认签名,

                           B向A发送数据:B将自己的数据用A公钥加密,再将自己的公钥暴露给A,并且在用自己的私钥将部分数据签名,(向A确认这是B发送的数据)

                           A受到B的数据:A用自己的私钥对B发送的数据进行解密,并且用B的公钥进行对B的签名进行验证,以确保这是B发送的数据,(A保存B的公钥)

                           A向B发送数据:A将自己的数据用B的公钥进行加密,然后发送给B。

      整个过程就建立了。

2、ios的签名方法

      1)可以用系统提供的API

           SecKeyEncrypt:使用公钥对数据加密(公钥

        SecKeyDecrypt:使用私钥对数据加密(私钥

        SecKeyRawVerify:使用公钥对数据签名和验证,验证数据的合法性

        SecKeyRawSign:使用私钥对数据形成摘要,并对摘要进行签名

        (经多方面确认iOS的 API 只提供这些类方法,因此不可以用公钥对数据解密,私钥对数据加密,,Android是支持的)。

       2)可以用第三方的openssl库,(这个就不多说了,这个是可以实现,公私钥交换加密解密的)。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。