iOS -- RSA、AES加密

作者: Midsum | 来源:发表于2016-12-26 16:26 被阅读141次

之前一直对加密这块了解的不多,新入公司接手代码的时候发现项目中对加密做的很复杂,发现当中用到了RSA、AES、安全散列算法等加密,就整理一下。

首先使用终端生产所需秘钥文件
生成环境是在mac系统下,使用openssl进行生成,首先打开终端,按下面这些步骤依次来做:
.打开终端,切换到自己想输出的文件夹下
.生成模长为1024bit的私钥文件private_key.pem

openssl genrsa -out private_key.pem 1024(openssl是生成各种秘钥的工具,mac已经嵌入

.生成证书请求文件rsaCertReq.csr
注意:这一步会提示输入国家、省份、mail等信息,可以根据实际情况填写,或者全部不用填写,直接全部敲回车.

openssl req -new -key private_key.pem -out rsaCerReq.csr

.生成证书rsaCert.crt,并设置有效时间为1年

openssl x509 -req -days 3650 -in rsaCerReq.csr -signkey private_key.pem -out rsaCert.crt

. 生成供iOS使用的公钥文件public_key.der

openssl x509 -outform der -in rsaCert.crt -out public_key.der

.生成供iOS使用的私钥文件private_key.p12

openssl pkcs12 -export -out private_key.p12 -inkey private_key.pem -in rsaCert.crt

*注意:这一步会提示给私钥文件设置密码,直接输入想要设置密码即可,然后敲回车,然后再验证刚才设置的密码,再次输入密码,然后敲回车,完毕!在解密时,private_key.p12 文件需要和这里设置的密码配合使用,因此需要牢记此密码.*

全部执行成功后,会在用户中生成文件,其中public_key.der和private_key.p12就是iOS需要用到的文件
将文件导入工程使用,并导入Security.framework框架

另外,大神Flying_Einstein的Git中对加密类的封装也让我膜拜不已,附上地址:https://github.com/Flying-Einstein/Encryptions

DES加密、解密

1、引入头文件 #import "DES3Util.h"
2、加密时调用类方法 
+(NSString *) encryptUseDES:(NSString *)plainText key:(NSString *)key;
3、解密时调用类方法 
+(NSString *)decryptUseDES:(NSString *)cipherText key:(NSString *)key;

RSA加密、解密

1、引入头文件 #import "RSAUtil.h"
2、公钥加密时调用类方法:
+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey;
+ (NSData *)encryptData:(NSData *)data publicKey:(NSString *)pubKey;
3、私钥解密时调用类方法
 + (NSString *)decryptString:(NSString *)str privateKey:(NSString *)privKey;
+ (NSData *)decryptData:(NSData *)data privateKey:(NSString *)privKey;

MD5加密

1、引入头文件 #import "MD5Util"
2、加密时调用方法:
- (NSString *)md5:(NSString *)str;

AES加密、解密

1、引入头文件 #import "AES.h"
2、加密时调用方法
+ (NSString *)encrypt:(NSString *)message password:(NSString *)password;
2、解密时调用的方法
+ (NSString *)decrypt:(NSString *)base64EncodedString password:(NSString *)password;

相关文章

  • iOS-15 加密

    1iOS 常用加密方式讲解 - 简书 2iOS加密方式(RSA签名、加密、AES) - 简书

  • iOS 关于加密

    常见的iOS代码加密常用加密方式包括Base64加密、MD5加密、AES加密、RSA加密等。 Base64加密 B...

  • android 3DES加密和MD5加密

    经常使用加密算法:DES、3DES、RC4、AES,RSA等;对称加密:des,3des,aes非对称加密:rsa...

  • 玩转iOS常用加密模式

    iOS常用的加密方式 Base64加密 MD5加密 AES加密 RSA加密 直接上干货,理论性的知识,大家从网上自...

  • python3中Crypto的AES和RSA

    RSA加密一般使用RSA/ECB/PKCS1Padding(算法/工作模式/填充方式),AES加密一般使用AES/...

  • iOS -- RSA、AES加密

    之前一直对加密这块了解的不多,新入公司接手代码的时候发现项目中对加密做的很复杂,发现当中用到了RSA、AES、安全...

  • iOS加密

    iOS代码常见的加密方式包括MD5加密、AES加密、BASE64加密,RSA加密。 MD5加密 MD5是不可逆的只...

  • iOS常用加密算法

    AES(对称加密) 代码: 使用: RSA(非对称加密) 参考文章

  • 命令

    文件编译 加密解密 1. 对称加密 DES AES Base64 2. 非对称加密 RSA RSA加密:公钥加密,...

  • android加密工具类1

    1.AES加密 2.DES加密 3.RSA加密 4.SHA256加密

网友评论

    本文标题:iOS -- RSA、AES加密

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