RSA+Base64加密
来源:互联网 发布:诺基亚c500i软件下载 编辑:程序博客网 时间:2024/06/05 05:16
这段时间要做一个业务需求,说是为了安全起见把数据请求用RSA加密。然后咨询了下后台是怎么个加密方法,然后后台就给了个公钥和私钥,说,公钥加密,私钥加签,之后再Base64加密。上网搜索,整理了下,就得出如下结论,话不多说,直接上代码:
- 首先!来个宏
#define PublicKEY @"后台提供的公钥字符串"
#define PrivateKey @"后台提供的私钥字符串"
- 其次,我们要用到一个第三方,这个第三方叫HBRSAHandler
导入头文件 - #import "HBRSAHandler.h" HBRSAHandler这个库在使用的时候,这个只需要在Build Setting 里面的 Header search path 和Library search path 这两个路径,把 HBRSAHandler里面的openssl里面的inc lude里面的openssl路劲拖进去就可以了。
然后,我们写入公钥和私钥
HBRSAHandler* handler = [HBRSAHandler new]; [handler importKeyWithType:KeyTypePrivate andkeyString:PrivateKey]; [handler importKeyWithType:KeyTypePublic andkeyString:PublicKEY];
再接着,我们将需要加密和加签的值传入
NSDictionary * cifCustomerDic = @{@"key":@"value"}; (这里我们是传的json) //公钥加密之后的值: NSString * pubStr ; pubStr = [self dictionaryToJson:cifCustomerDic]; pubStr = [handler encryptWithPublicKey:pubStr]; //私钥签名之后的值: NSString * priStr; priStr = [self dictionaryToJson:cifCustomerDic]; priStr = [handler signString:perStr];
这里最后获取到的pubStr就是RSA公钥加密,再Base64加密之后的值
priStr就是RSA私钥加签,再Base64加密之后的值。
*注意:[handler encryptWithPublicKey:pubStr]和 [handler signString:perStr];这两个返回值是RSA加密又Base64 加密之后的值。*
附上Json转字符串的方法
#pragma mark - 字典转字符串- (NSString*)dictionaryToJson:(NSDictionary *)dic{ NSError *parseError = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError]; return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];}
阅读全文
2 0
- RSA+Base64加密
- iOS - 加密 Base64 MD5 DES AES RSA
- Android中RSA+BASE64加密解密
- golang实现md5、RSA、base64 加密解密
- RSA 加密-重写base64 适用于反射
- 前端RSA加密及压缩base64
- C#.NET 加密解密:AES/DES/Base64/RSA/MD5/SHA256
- C#.NET 加密解密:AES/DES/Base64/RSA/MD5/SHA256
- C#.NET 加密解密:AES/DES/Base64/RSA/MD5/SHA256
- IOS下RSA&base64与Java端加密解密备忘
- RSA 加密与Base64 +号变空格的问题
- 通过Base64加密解密解决RSA中文解密乱码问题
- java之RSA和Base64加密帮助类
- RSA+SHA256+BASE64对数据进行加密解密及校验
- RSA加密
- rsa 加密
- RSA加密
- RSA加密
- 链表面试题(二)---链表逆序(链表反转)
- 特殊的json(键值是数字的json)处理
- ML涨姿势 001A 逻辑回归
- List 与JSON array 之间的转换
- CNN基础(2)
- RSA+Base64加密
- layoutAnimation动画
- 传智播客笔记(JavaSE)
- 神经网络学习笔记
- 栈-数据结构(5)
- CNN基础(3)
- Servlet 中文乱码问题及解决方案剖析
- 一些简单的shell脚本 学习
- c语言中用户定义类型(typedef)的作用