ios开发教程-ios中的rsa加解密

ios开发教程-ios中的rsa加解密

ID:8806403

大小:121.00 KB

页数:6页

时间:2018-04-08

ios开发教程-ios中的rsa加解密_第1页
ios开发教程-ios中的rsa加解密_第2页
ios开发教程-ios中的rsa加解密_第3页
ios开发教程-ios中的rsa加解密_第4页
ios开发教程-ios中的rsa加解密_第5页
资源描述:

《ios开发教程-ios中的rsa加解密》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、http://www.mobiletrain.org/iOS开发教程-iOS中的RSA加解密在移动应用开发中常常遇到数据传输安全性的问题,尤其是在账户安全以及支付场景中的订单数据、或支付信息的传输中,正规的公司一定会要求对数据进行加密,当然有创业初期的公司会在前期产品中让所有数据进行“裸奔”,不过在产品成型以后,一定会要求对数据进行加密的。那么,接下来就简单说说iOS中最常见的RSA加密吧。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA采用公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是

2、一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。在实际工作中的加密密钥都是对多个加密端公开的,保证其安全性的主要任务是解密密钥的保密工作。1.iOS中RSA加解密的密钥创建首先要使用RSA加密,首先是生成RSA的加密密钥和解密密钥,RSA是非对称加密方式,在实际应用中,通常把用来加密的密钥称为公钥,如在iOS端、Android、WindowsPhone应用中加密数据使用的密钥,解密密钥称为私钥,一般把解密密钥存放在移动应用的服务器端。这种做法主要是考虑到心怀恶意的攻击者很容易获取移动端应用,进行反编译获取加密密钥,而攻击者想要获取服务器端的私钥(除非服务器端团队成员恶意

3、泄露),否则基本上不可能,而获取到RSA的加密密钥,只要密钥的位数足够长,几乎不可能推导出解密密钥,所以攻击者拿到加密密钥完全没有用。在不同环境中有不同的创建RSA加密密钥和解密密钥的方法,下面提供一个在Mac系统中使用终端创建的具体步骤:生成私钥文件$opensslgenrsa-outprivate.pem2048◦openssl:是一个自由的软件组织,专注做加密和解密的框架。北京千锋互联科技有限公司版权所有http://www.mobiletrain.org/genrsa:指定了生成了算法使用RSA-out:后面的参数表示生成的key的输入文件2048:表示的是生成key的长度,单

4、位字节(bits)创建证书请求$opensslreq-new-keyprivate.pem-outrsacert.csr可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。(要收费的)生成证书并签名,有效期10年$opensslx509-req-days3650-inrsacert.csr-signkeyprivate.pem-outrsacert.crt509是一种非常通用的证书格式。将用上面生成的密钥privkey.pem和rsacert.csr证书请求文件生成一个数字证书rsacert.crt。这个就是公钥

5、转换格式将PEM格式文件转换成DER格式$opensslx509-outformder-inrsacert.crt-outrsacert.der在iOS开发中,公钥是不能使用base64编码的,上面的命令是将公钥的base64编码字符串转换成二进制数据导出P12文件在iOS使用私钥不能直接使用,需要导出一个p12文件。下面命令就是将私钥文件导出为p12文件。$opensslpkcs12-export-outp.p12-inkeyprivate.pem-inrsacert.crt有了公钥和私钥之后,接下来的就是代码了,在这我粘贴出重要部分的代码,如果想要具体的Demo2.加解密的方法声明

6、加密方法+(NSString*)RSAEncrypt:(NSString*)plainTextString;/**************************************************************************函数名称:+(NSData*)RSADecryptWithPrivateKey:(NSData*)cipherData函数描述:用私钥对已经进行RSA加密的数据进行解密输入参数:(NSData*)data输出参数:N/A返回参数:(NSData*)北京千锋互联科技有限公司版权所有http://www.mobiletrain.org/

7、备注信息:******************************************************************************/解密方法/**************************************************************************函数名称:+(NSString*)RSADecryptString:(NSString*)rsaString函数描述:用私

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。