前言
這段時間势腮,細(xì)致的研究了iOS下的CommonCrypto
框架漫仆,查閱了網(wǎng)上不少的資料盲厌,也有了不少的心得。這算是一篇總結(jié)記錄的文章吧狸眼,歡迎他人一起討論。
概述
CommonCrypto
的中文直譯是"常用密碼"。顧名思義微王,它是蘋果一種用作加解密算法處理的框架品嚣,方便iOS開發(fā)者使用,它的接口為C語言形式罩旋,我們可以通過函數(shù)名眶诈、枚舉名直觀的了解它。
相關(guān)內(nèi)容介紹
首先呢逝撬,是CommonCrypto頭文件的內(nèi)容,我們引用#import<CommonCrypto/CommonCrypto.h>
之后溯警,可以在CommonCrypto.h
當(dāng)中我們可以看到以下的幾個文件:
<CommonCrypto/CommonCryptor.h> //常用對稱加解密,例如AES食磕、DES等
<CommonCrypto/CommonDigest.h> //常用消息摘要, 例如MD5喳挑、SHA1等
<CommonCrypto/CommonHMAC.h> //HMAC 哈希消息認(rèn)證
<CommonCrypto/CommonKeyDerivation.h> //PBKDF導(dǎo)出密鑰相關(guān).
<CommonCrypto/CommonSymmetricKeywrap.h> AES Key Wrap
其中
-
CommonCryptor
文件中最上方有一段蘋果對該文檔的摘要蟀悦、介紹說明以及如何使用的英文文檔。Generic interface for symmetric encryption
直譯是對稱加密的通用接口日戈,包含了塊加密和流加密兩種類型浙炼。它們分別是AES
、DES
弯屈、3DES
资厉、CAST
、BLOWFISH
和RC2
以及RC4
宴偿。 -
CommonDigest
文件中包括如MD5
,SHA家族
等哈希摘要算法窄刘。 -
CommonHMAC
文件中包含是HMAC+MD5
、HMAC+SHA1
等娩践,是HMAC算法利用哈希算法翻伺,以一個密鑰和一個消息為輸入,生成一個消息摘要作為輸出穆趴。 -
CommonKeyDerivation
是使用PBKDF導(dǎo)出一個可用的密匙。 -
CommonSymmetricKeywrap
中文件名稱說明是SymmetricKeywrap
(對稱加密加密密匙)簿废,但是在文檔中蘋果官方聲明目前只有AES一種對稱加密算法可用.
從以上說明我們可以看出基本常用的加解密,哈希摘要歪赢、密鑰加密等等相關(guān)的內(nèi)容单料,蘋果大體上已經(jīng)給我們封裝好了,可以直接使用白对,當(dāng)然肯定有些細(xì)節(jié)的地方换怖,需要自己去實現(xiàn)沉颂。在這個庫里面,還有兩個文件分別是铸屉,CommonCryproError
和CommonRandom
。
關(guān)于這個框架的文件現(xiàn)在大體上介紹完了顷啼,開始第一部分常用加解密CommomCryptor的使用說明昌屉。