iOS系统库中定义了软件开发中常用的加解密算法,接口为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三种级别,密钥长度越大安全性也就越大,但性能也就越低,根据实际业务的安全要求来决定就好。通常情况,对一些关键数据进行加密的对象都是字符串,加密结果也以字符串进行保存,所以在设计接口的时候参数和返回值均为字符串。(关于关键参数的意义放在代码后讲解。)
1.1 加密过程
1 -(NSString *)aes256_encrypt:(NSString *)key 2 { 3 const char *cst


