美文网首页
iOS RSA算法加密 证书读取秘钥 数据加密

iOS RSA算法加密 证书读取秘钥 数据加密

作者: 空空小僧 | 来源:发表于2020-02-23 14:03 被阅读0次

最近做的需求,涉及到一些安全校验,要求数据传输或者数据解析必须安全一些,所以想到了常用的非对称RSA加密,所以自己尝试练手加密解密某些数据

1.生成公私钥证书

利用MAC系统自带的openssl命令,到一个指定文件夹下(方便自己管理),可以生成一对公私钥信息,命令如下:
1.生成私钥文件

genrsa -out  private_key.pem 1024  //生成私钥Pem文件

2.私钥文件做转码处理

pkcs8 -topk8 -inform PEM -in private_key.pem -outform PEM -nocrypt  //将私钥文件转成PKCS8格式,否则我们直接data转字符串作为私钥的时候,不成功,这一步是很关键的

控制台输入如下,我们可以将这个文本字符串赋值下来,保存成字符传,去掉换行符


image.png

用到xcode的工程大概为(不要管为啥私钥不一样,因为我随意写的)


image.png

3.生成公钥文件

//这些命令都保证在一个文件夹内操作,这个文件可以直接文本打开读取里面的公钥,为啥不需要编码没get到原理
rsa -in private_key.pem -pubout -out public_key.pem  

这样,文件夹下面就会有2个Pem格式的文件了,保留好证书文件,省的字符串发生变化的时候,不知道怎么找回

使用RSA加密数据

基于iOS系统,首先看有没有造好的轮子,有个比较方便的库Objective-C-RSA,可以直接下载使用,就2个文件,API也比较简单

#import <Foundation/Foundation.h>

@interface RSA : NSObject

// return base64 encoded string
+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey;
// return raw data
+ (NSData *)encryptData:(NSData *)data publicKey:(NSString *)pubKey;
// return base64 encoded string
+ (NSString *)encryptString:(NSString *)str privateKey:(NSString *)privKey;
// return raw data
+ (NSData *)encryptData:(NSData *)data privateKey:(NSString *)privKey;

// decrypt base64 encoded string, convert result to string(not base64 encoded)
+ (NSString *)decryptString:(NSString *)str publicKey:(NSString *)pubKey;
+ (NSData *)decryptData:(NSData *)data publicKey:(NSString *)pubKey;
+ (NSString *)decryptString:(NSString *)str privateKey:(NSString *)privKey;
+ (NSData *)decryptData:(NSData *)data privateKey:(NSString *)privKey;

@end

感兴趣的小伙伴去尝试吧

相关文章

  • iOS RSA算法加密 证书读取秘钥 数据加密

    最近做的需求,涉及到一些安全校验,要求数据传输或者数据解析必须安全一些,所以想到了常用的非对称RSA加密,所以自己...

  • RSA公钥、私钥、签名和验签

    1 RSA加密算法介绍 RSA又叫非对称加密算法,这类加密算法有一对秘钥,其中一个用来加密一个用来解密。这一对秘钥...

  • ios开发之证书和签名机制(一)

    非对称加密和摘要 1、非对称加密的特性和用法 1) 非对称加密算法(RSA):非对称加密算法指加密秘钥和解密秘钥是...

  • iOS 常规加密算法

    非对称加密: RSA:https、苹果的p12证书等 认证都是通过RSA--公钥加密,私钥解秘--私钥加密,公钥解...

  • # RSA 公钥加密算法

    # RSA 公钥加密算法 # RSA 公钥加密算法

  • 密码学基础(三):非对称加密(RSA算法原理)

    什么是RSA加密 加密和解密使用的是两个不同的秘钥,这种算法叫做非对称加密。非对称加密又称为公钥加密,RSA只是公...

  • RSA公私钥和签名、验签过程

    RSA加密算法介绍 RSA又叫非对称加密算法,这类加密算法有2个秘钥,你可以选择一个作为私钥(自己保存,重要),另...

  • OpenSSL

    openssl 功能 openssl可以实现:秘钥证书管理、对称加密和非对称加密 。 加密命令 对称加密算法Ope...

  • 前后端参数加密

    一,常用类型加密方式 1,base64无秘钥加密2,base64秘钥加密3,AES 加密4,RSA加密 二,加密方...

  • RSA非对称加密算法

    RSA算法,经典非对称加密算法,通过生成公钥 私钥 进行加密解密 公钥加密 私钥解密 反之 私钥加密 公钥...

网友评论

      本文标题:iOS RSA算法加密 证书读取秘钥 数据加密

      本文链接:https://www.haomeiwen.com/subject/gzkjqhtx.html