iOS RSA加密 解密

最近在公司项目中被要求使用RSA加密,且要求是全程加解密,期间也是踩了很多的坑,在此做个记录也算给要使用的朋友一点帮助.注意,具体的RSA加密算法内容并不在此文的讨论范围。

1.需要获取公钥:从后端获取模和指数

exponent:010001

modulus:00a6b7f2c93f1f377285407027896757f2f679f15502583b15f59462f1ca358f49412bf2ae7dd712aecc1ccc46960959d8151893ec695f1b4f86af4de1ac04614a46d9415ef9856aca3dc20a40aefbfda06f71e5ee42e904e6512fb8f6cee95a964c16990fe35c1c9f54b4b3d03ea79ae1484883a40f03b19be07d31be01e82a17

2.通过模和指数生成公钥

RSA *publicKey = [DDRSAWrapper openssl_publicKeyFormMod:modulus.length ? modulus : @"" exp:exponent.length ? exponent : @""];

转换成字符串:self.publicKeyString = [DDRSAWrapper base64EncodedStringPublicKey:publicKey];

3.生成公钥后,将待加密的字符串和公钥生成密文

生成字符串:NSString *str = [JSRSA encryptString:self.originalPasswordString publicKey:self.publicKeyString];

转成二进制:NSData *dta = [NSData dataWithBase64EncodedString:str];

4.传输给后端

这个就是普通的网络请求啦

具体RSA代码

https://github.com/danransmile/RSATest

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值