iOS系統(tǒng)庫中定義了軟件開發(fā)中常用的加解密算法,接口為C語言形式。具體包括了以下幾個大類:

1 #include <CommonCrypto/CommonCryptor.h>  //常用加解密算法2 #include <CommonCrypto/CommonDigest.h>  //摘要算法3 #include <CommonCrypto/CommonHMAC.h>4 #include <CommonCrypto/CommonKeyDerivation.h>5 #include <CommonCrypto/CommonSymmetricKeywrap.h>

  其中第一類常用加解密算法就包含了AES,DES,和已經(jīng)廢棄的RC4,第二類摘要算法,包括如MD5,SHA等。本文主要介紹AES,MD5,SHA三種最常用算法的實現(xiàn)。

  1 對稱密碼算法--AES

  AES主要應用在關(guān)鍵數(shù)據(jù)和文件的的保密同時又需要解密的情形,其加密密鑰和解密密鑰相同,根據(jù)密鑰長度分為128、192和256三種級別,密鑰長度越大安全性也就越大,但性能也就越低,根據(jù)實際業(yè)務的安全要求來決定就好。通常情況,對一些關(guān)鍵數(shù)據(jù)進行加密的對象都是字符串,加密結(jié)果也以字符串進行保存,所以在設計接口的時候參數(shù)和返回值均為字符串。(關(guān)于關(guān)鍵參數(shù)的意義放在代碼后講解。)

  1.1 加密過程

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經(jīng)理培訓

 1 -(NSString *)aes256_encrypt:(NSString *)key 2 { 3     const char *cst
        
		

網(wǎng)友評論