前言
最近在做AES加密时,用到了CommonCrypto框架,查了很多资料,详细研究了这个框架,现在写下一些心得。
概述
CommonCrypto
的中文直译是"常用密码"。它是苹果一种用作加解密算法处理的框架,方便iOS开发者使用。引用#import<CommonCrypto/CommonCrypto.h>
之后,可以在CommonCrypto.h
当中我们可以看到以下的几个常用的文件:#include <CommonCrypto/CommonCryptor.h>//常用加解密算法,例如AES、DES、CAST、RC4、RC2、Blowfish等 #include <CommonCrypto/CommonDigest.h>//常用摘要算法, 例如MD5、SHA1等 #include <CommonCrypto/CommonHMAC.h>//HMAC相关算法加密 #include <CommonCrypto/CommonKeyDerivation.h>//PBKDF导出密钥相关. #include <CommonCrypto/CommonSymmetricKeywrap.h>//AES Key Wrap
1,
CommonCryptor.h(
对称加密算法)
文件中最上方有一段苹果对该文档的摘要、介绍说明以及如何使用的英文文档。
Generic interface for symmetric encryption
直译是对称加密的通用接口,包含了块加密和流加密两种类型。enum { kCCAlgorithmAES128 = 0, kCCAlgorithmAES = 0, kCCAlgorithmDES, kCCAlgorithm3DES, kCCAlgorithmCAST, kCCAlgorithmRC4, kCCAlgorithmRC2, kCCAlgorithmBlowfish }; typedef uint32_t CCAlgorithm
2,CommonDigest.h(
哈希摘要算法)
文件中提供哈希摘要算法,包括:MD2、MD4、MD5 、SHA1、SHA224、SHA256、SHA384、SHA512等。
3,CommonHMAC.h(
密钥消息验证码)
文件中包含是
HMAC+MD5
、HMAC+SHA1
等,是HMAC算法利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
4,CommonKeyDerivation.h
是使用PBKDF导出一个可用的密匙。
5,CommonSymmetricKeywrap.h
文件名称说明是
SymmetricKeywrap
(对称加密加密密匙),但是在文档中苹果官方声明目前只有AES一种对称加密算法可用.
相关文章
iOS开发-加密与解密之CommonCrypto与Security.framework