苹果封装的对称加密和非对称加密API

一、信息摘要算法5:MD5
1.系统库位置:<CommonCrypto/CommonHMAC.h>。
2.非加密算法,属于哈希散列,不可逆,用于检验数据完整性。

二、安全散列 (哈希)算法SHA:
1.包含的散列算法:SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512。
2.系统库位置:<CommonCrypto/CommonHMAC.h>。
3.SHA同样是散列算法,非加密算法。SHA基于MD5实现。

三、对称加密:
1.包含的加密算法:DES、3DES、AES、AES128等。
2.系统库位置:<CommonCrypto/CommonCryptor.h>的CCCrypt方法

四、非对称加密:
1.包含的加密算法:RSA
2.系统库位置:Security框架,主要有四个方法:
 (1)SecKeyEncrypt:使用公钥对明文加密。
 (2)SecKeyDecrypt:使用私钥对密文解密。
 (3)SecKeyRawSign:使用私钥对明文加签,生成数字签名。
 (4)SecKeyRawVerify:使用公钥对明文和数字签名验签,返回0代表验签通过。
3.通常用法:加密和解密用来保证数据安全,加签和验签用来防篡改。通常结合在一起使,步骤如下:
 (1) 发起方使用接收方的公钥对明文加密,生成密文。
 (2) 发起方使用自己的私钥对明文加签,生成数字签名。
 (3)接收方使用自己的私钥对密文解密,得到明文。
 (4)接收方使用发起方的公钥对明文和数字签名验签,检测是否是发起方发起的请求。
4.证书格式:DER、PEM、P12是生成密钥可选择的文件格式。
 (1)DER是Distinguished Encoding Rules的简称,是一种信息传输语法规则。
       在iOS端,我们的公钥使用的是DER格式的文件,可以从SecCertificateCreateWithData函数的data参数的说明中看到。
 (2)P12用于存放个人证书/私钥,他通常包含保护密码,2进制方式。
       在iOS端,我们的私钥使用的是P12格式的文件,可以从SecPKCS12Import函数的pkcs12_data参数说明看到。
 (3)而PEM格式是一种对DER进行封装的格式,他只是把der的内容进行了base64编码并加上了头尾说明。
 (4)OPENSSL命令行默认输出的都是PEM格式的文件,要能够在iOS下使用,我们需要指定使用DER或者先生成PEM然后转换成DER。P12格式也一样。
5.附图示:
(1)1、2、3、4为苹果提供的API。
(2) 3可以理解为私钥加密。
(3) 4中隐含公钥解密过程。首先将数字签名解密,然后和明文的SHA1值对比,看是否一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值