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,和已經廢棄的RC4,第二類摘要算法,包括如MD5,SHA等。本文主要介紹AES,MD5,SHA三種最常用算法的實現。

  1 對稱密碼算法--AES

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

  1.1 加密過程

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

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